Article management system, information processing apparatus, and control method and control program of information processing apparatus

ABSTRACT

An apparatus of this invention is directed to an information processing apparatus that effectively counts, on a type basis, articles of a plurality of types displayed in a depth direction on a display shelf. The information processing apparatus includes a display count acquirer that acquires display count information of articles using article presence/absence sensors provided on the display shelf on which the articles are placed, an article identifier that acquires article identification information capable of identifying the types of articles based on an image acquired by capturing the display shelf, and a display recognizer that recognizes, based on the display count information and the article identification information, display count of each type of the articles.

TECHNICAL FIELD

The present invention relates to a technique of managing displayedarticles.

BACKGROUND ART

In the above technical field, patent literature 1 discloses a techniqueof capturing articles of commerce displayed on goods shelves whilemoving a plurality of cameras and counting the quantities of individualarticles based on their outline feature data. Patent literature 2discloses a technique of determining the presence/absence of an articlebased on the RF energy amount of a response signal to an interrogationsignal from an RFID reader.

CITATION LIST Patent Literature

Patent literature 1: Japanese Patent Laid-Open No. 2001-088912

Patent literature 2: Japanese PCT National Publication No. 2010-504598

SUMMARY OF THE INVENTION Technical Problem

In the technique described in patent literature 1, however, it isnecessary to use a plurality of expensive cameras and control themovement of the cameras. If a plurality of articles of commerce aredisplayed in the depth direction, and some of them are hidden or onlypartially seen, it is difficult to identify the articles. On the otherhand, the technique described in patent literature 2 can determine thepresence/absence of an article but cannot specify the type of thearticle unless it is known.

The present invention enables to provide a technique of solving theabove-described problem.

Solution to Problem

One aspect of the present invention provides an information processingapparatus comprising:

a display count acquirer that acquires display count information ofarticles using article presence/absence sensors provided on a displayshelf on which the articles are placed;

an article identifier that acquires article identification informationcapable of identifying types of articles based on an image acquired bycapturing the display shelf; and

a display recognizer that recognizes, based on the display countinformation and the article identification information, display count ofeach type of the articles.

Another aspect of the present invention provides an informationprocessing method comprising:

acquiring display count information of articles using articlepresence/absence sensors provided on a display shelf on which thearticles are placed;

acquiring article identification information capable of identifying atypes of articles based on an image acquired by capturing the displayshelf; and

recognizing, based on the display count information and the articleidentification information, display count of each type of the articles.

Still other aspect of the present invention provides an informationprocessing apparatus control program for causing a computer to execute amethod comprising:

acquiring display count information of articles using articlepresence/absence sensors provided on a display shelf on which thearticles are placed;

acquiring article identification information capable of identifyingtypes of articles based on an image acquired by capturing the displayshelf; and

recognizing, based on the display count information and the articleidentification information, display count of each type of the articles.

Still other aspect of the present invention provides an informationprocessing system comprising:

article presence/absence sensors provided on a display shelf on whicharticles are placed;

a display count acquirer that acquires display count information of thearticles using the article presence/absence sensors;

an image capturer that captures the display shelf;

an article identifier that acquires article identification informationcapable of identifying types of articles based on an image acquired bythe image capturer; and

a display recognizer that recognizes, based on the display countinformation and the article identification information, display count ofeach type of the articles.

Advantageous Effects of Invention

According to the present invention, it is possible to effectively counta plurality of types of articles displayed on a display shelf on a typebasis.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing the arrangement of an informationprocessing apparatus according to the first embodiment of the presentinvention;

FIG. 2A is a view showing the outline of an article management systemincluding an information processing apparatus according to the secondembodiment of the present invention;

FIG. 2B is a block diagram showing the arrangement of the articlemanagement system including the information processing apparatusaccording to the second embodiment of the present invention;

FIG. 3A is a sequence chart showing the operation procedure of thearticle management system including the information processing apparatusaccording to the second embodiment of the present invention;

FIG. 3B is a timing chart showing an example of the operation timing ofthe article management system including the information processingapparatus according to the second embodiment of the present invention;

FIG. 3C is a timing chart showing another example of the operationtiming of the article management system including the informationprocessing apparatus according to the second embodiment of the presentinvention;

FIG. 3D is a timing chart showing still another example of the operationtiming of the article management system including the informationprocessing apparatus according to the second embodiment of the presentinvention;

FIG. 4 is a block diagram showing the functional arrangement of theinformation processing apparatus according to the second embodiment ofthe present invention;

FIG. 5A is a view showing the arrangement of a local feature databaseaccording to the second embodiment of the present invention;

FIG. 5B is a view showing the arrangement of a sensor database accordingto the second embodiment of the present invention;

FIG. 5C is a view showing the arrangement of an article type array tableaccording to the second embodiment of the present invention;

FIG. 5D is a view showing the arrangement of an article presence/absencearray table according to the second embodiment of the present invention;

FIG. 5E is a view showing the arrangement of a shelf allocation anddisplay count table according to the second embodiment of the presentinvention;

FIG. 6A is a block diagram showing an arrangement of an articleidentifier according to the second embodiment of the present invention;

FIG. 6B is a block diagram showing the arrangement of a region dividerin the article identifier shown in FIG. 6A according to the secondembodiment of the present invention;

FIG. 6C is a block diagram showing another arrangement of the articleidentifier according to the second embodiment of the present invention;

FIG. 6D is a block diagram showing the arrangement of a region dividerin the article identifier shown in FIG. 6C according to the secondembodiment of the present invention;

FIG. 6E is a block diagram showing still another arrangement of thearticle identifier according to the second embodiment of the presentinvention;

FIG. 6F is a block diagram showing an arrangement of a region divider inthe article identifier shown in FIG. 6E according to the secondembodiment of the present invention;

FIG. 6G is a block diagram showing another arrangement of the regiondivider in the article identifier shown in FIG. 6E according to thesecond embodiment of the present invention;

FIG. 7A is a block diagram showing the arrangement of a local featuregenerator according to the second embodiment of the present invention;

FIG. 7B is a view for explaining the procedure of local featuregeneration according to the second embodiment of the present invention;

FIG. 7C is a view for explaining the procedure of local featuregeneration according to the second embodiment of the present invention;

FIG. 7D is a view showing a subregion selection order in the localfeature generator according to the second embodiment of the presentinvention;

FIG. 7E is a view showing a feature vector selection order in the localfeature generator according to the second embodiment of the presentinvention;

FIG. 7F is a view showing the hierarchy of feature vectors in the localfeature generator according to the second embodiment of the presentinvention;

FIG. 8A is a block diagram showing the arrangement of an article arraygenerator according to the second embodiment of the present invention;

FIG. 8B is a sequence chart showing the operation procedure of articlepresence/absence data acquisition according to the second embodiment ofthe present invention;

FIG. 8C is a sequence chart showing a communication procedure at thetime of article presence/absence data acquisition according to thesecond embodiment of the present invention;

FIG. 8D is a view showing an arrangement of the sensor databaseaccording to the second embodiment of the present invention;

FIG. 8E is a view showing another arrangement of the sensor databaseaccording to the second embodiment of the present invention;

FIG. 9A is a view showing the arrangement of an article presence/absencesensor according to the second embodiment of the present invention;

FIG. 9B is a view showing the arrangement of a reader antenna in thearticle presence/absence sensor according to the second embodiment ofthe present invention;

FIG. 9C is a view showing the arrangement of articles on the articlepresence/absence sensor according to the second embodiment of thepresent invention;

FIG. 9D is a view showing the arrangement of an RFID tag in the articlepresence/absence sensor according to the second embodiment of thepresent invention;

FIG. 9E is a view showing the positional relationship in the articlepresence/absence sensor according to the second embodiment of thepresent invention;

FIG. 10A is a block diagram showing the hardware arrangement of theinformation processing apparatus according to the second embodiment ofthe present invention;

FIG. 10B is a view showing the processing result output of theinformation processing apparatus according to the second embodiment ofthe present invention;

FIG. 11A is a flowchart showing the processing procedure of theinformation processing apparatus according to the second embodiment ofthe present invention;

FIG. 11B is a flowchart showing the procedure of shelf surface articlearray recognition processing according to the second embodiment of thepresent invention;

FIG. 11C is a flowchart showing the procedure of articlepresence/absence detection processing according to the second embodimentof the present invention;

FIG. 11D is a flowchart showing the procedure of article arrangement anddisplay count determination processing according to the secondembodiment of the present invention;

FIG. 12 is a view showing the outline of an article management systemincluding an information processing apparatus according to the thirdembodiment of the present invention;

FIG. 13 is a sequence chart showing the operation procedure of thearticle management system including the information processing apparatusaccording to the third embodiment of the present invention;

FIG. 14 is a block diagram showing the functional arrangement of theinformation processing apparatus according to the third embodiment ofthe present invention;

FIG. 15A is a view showing the arrangement of a local feature databaseaccording to the third embodiment of the present invention;

FIG. 15B is a view showing the arrangement of a sheet managementdatabase according to the third embodiment of the present invention;

FIG. 15C is a view showing the arrangement of an article type arraytable according to the third embodiment of the present invention;

FIG. 16A is a flowchart showing the processing procedure of theinformation processing apparatus according to the third embodiment ofthe present invention;

FIG. 16B is a flowchart showing the procedure of sheet markidentification processing according to the third embodiment of thepresent invention;

FIG. 17 is a view showing the outline of an article management systemincluding an information processing apparatus according to the fourthembodiment of the present invention;

FIG. 18 is a sequence chart showing the operation procedure of thearticle management system including the information processing apparatusaccording to the fourth embodiment of the present invention;

FIG. 19 is a block diagram showing the functional arrangement of theinformation processing apparatus according to the fourth embodiment ofthe present invention;

FIG. 20A is a view showing the arrangement of a local feature databaseaccording to the fourth embodiment of the present invention;

FIG. 20B is a view showing the arrangement of a shelf managementdatabase according to the fourth embodiment of the present invention;

FIG. 20C is a view showing the arrangement of an article type arraytable according to the fourth embodiment of the present invention;

FIG. 21A is a flowchart showing the processing procedure of theinformation processing apparatus according to the fourth embodiment ofthe present invention;

FIG. 21B is a flowchart showing the procedure of shelf markidentification processing according to the fourth embodiment of thepresent invention;

FIG. 22 is a view showing the outline of an article management systemincluding an information processing apparatus according to the fifthembodiment of the present invention;

FIG. 23 is a sequence chart showing the operation procedure of thearticle management system including the information processing apparatusaccording to the fifth embodiment of the present invention;

FIG. 24 is a block diagram showing the functional arrangement of theinformation processing apparatus according to the fifth embodiment ofthe present invention;

FIG. 25 is a view showing the arrangement of an article columnmanagement database according to the fifth embodiment of the presentinvention;

FIG. 26A is a flowchart showing the processing procedure of theinformation processing apparatus according to the fifth embodiment ofthe present invention;

FIG. 26B is a flowchart showing the procedure of article columnidentification processing according to the fifth embodiment of thepresent invention;

FIG. 27A is a view showing the outline of an article management systemincluding an information processing apparatus according to the sixthembodiment of the present invention;

FIG. 27B is a view showing the outline of the article management systemincluding the information processing apparatus according to the sixthembodiment of the present invention;

FIG. 28 is a block diagram showing the functional arrangement of theinformation processing apparatus according to the sixth embodiment ofthe present invention;

FIG. 29 is a view for explaining article display determinationprocessing according to the sixth embodiment of the present invention;

FIG. 30A is a flowchart showing the processing procedure of theinformation processing apparatus according to the sixth embodiment ofthe present invention;

FIG. 30B is a flowchart showing the procedure of article displaydetermination processing according to the sixth embodiment of thepresent invention;

FIG. 31 is a view showing the outline of an article management systemincluding an information processing apparatus according to the seventhembodiment of the present invention;

FIG. 32 is a block diagram showing the functional arrangement of theinformation processing apparatus according to the seventh embodiment ofthe present invention;

FIG. 33A is a flowchart showing the processing procedure of theinformation processing apparatus according to the seventh embodiment ofthe present invention;

FIG. 33B is a flowchart showing the procedure of articlepresence/absence detection and article identification adjustmentprocessing according to the seventh embodiment of the present invention;

FIG. 34 is a view showing the outline of an article management systemincluding an information processing apparatus according to the eighthembodiment of the present invention;

FIG. 35 is a sequence chart showing the operation procedure of thearticle management system including the information processing apparatusaccording to the eighth embodiment of the present invention;

FIG. 36 is a block diagram showing the functional arrangement of theinformation processing apparatus according to the eighth embodiment ofthe present invention;

FIG. 37 is a view for explaining article presence/absence columncollation according to the eighth embodiment of the present invention;

FIG. 38A is a flowchart showing the processing procedure of theinformation processing apparatus according to the eighth embodiment ofthe present invention; and

FIG. 38B is a flowchart showing the procedure of presence/absence columncollation processing according to the eighth embodiment of the presentinvention.

DESCRIPTION OF THE EMBODIMENTS

Preferred embodiments of the present invention will now be described indetail with reference to the drawings. It should be noted that therelative arrangement of the components, the numerical expressions andnumerical values set forth in these embodiments do not limit the scopeof the present invention unless it is specifically stated otherwise.

First Embodiment

An information processing apparatus 100 according to the firstembodiment of the present invention will be described with reference toFIG. 1. The information processing apparatus 100 is an apparatus formanaging displayed articles.

As shown in FIG. 1, the information processing apparatus 100 includes adisplay count acquirer 101, an article identifier 103, and a displayrecognizer 104. The display count acquirer 101 acquires display countinformation of articles 110 using article presence/absence sensors 130provided on a display shelf on which the articles are placed. Thearticle identifier 103 acquires article identification informationcapable of identifying types of articles based on an image acquired bycapturing the display shelf using an image capturer 120. Based on thedisplay count information acquired by the display count acquirer 101 andthe article identification information acquired by the articleidentifier 103, the display recognizer 104 recognizes display count ofeach type of the articles.

According to this embodiment, it is possible to effectively count aplurality of types of articles displayed on the display shelf on a typebasis based on article identification information based on an image anddisplay count information acquired by the article presence/absencesensor.

Second Embodiment

An article management system including an information processingapparatus according to the second embodiment of the present inventionwill be described next. In this embodiment, an article is identifiedbased on a local feature from a captured image and linked with articlepresence/absence information from an article presence/absence sensor seton an article display shelf, whereby an enormous quantity of articles ofa plurality of types displayed in the depth direction on the displayshelf are counted at a high speed on a type basis.

<<Article Management System>>

The arrangement and operation of an article management system 200according to this embodiment will be described with reference to FIGS.2A to 3D.

(System Outline)

FIG. 2A is a view showing the outline of the article management system200 including an information processing apparatus 210 according to thisembodiment. Referring to FIG. 2A, an article display shelf in a storewill be exemplified. However, the display shelf not limited to this andcan be of any type on which a plurality of articles are displayed in thedepth direction.

The article management system 200 includes the information processingapparatus 210, an image capturer 220 that is a camera, and articlepresence/absence sensors 230. The image capturer 220 captures the imagesof the front lines of display shelves 201 and 202. On the other hand,the article presence/absence sensor 230 arranged on the bottom of eachlayer of each of the display shelves 201 and 202 determines thepresence/absence of articles on the sensor 230.

The information processing apparatus 210 includes an article identifier211, a display count acquirer 212, and a display recognizer 213. Thearticle identifier 211 receives the images of the front lines of thedisplay shelves 201 and 202 from the image capturer 220, and identifiesthe types and array of displayed articles. Note that the articleidentifier 211 identifies the type, maker, and name of an article. Thedisplay count acquirer 212 receives, from the article presence/absencesensor 230, information representing how many articles are arranged onthe sensor. The display recognizer 213 links the article arrays of thefront lines of the display shelves 201 and 202 from the articleidentifier 211 with display count information from the display countacquirer 212, and recognizes the number of displayed articles on thedisplay shelves 201 and 202.

The number of displayed articles recognized by the informationprocessing apparatus 210 is displayed on, for example, a display unit214. This enables inventory management of the display shelves 201 and202 and allows a clerk to replenish articles of a small displayquantity.

(System Arrangement)

FIG. 2B is a block diagram showing the arrangement of the articlemanagement system 200 including the information processing apparatus 210according to this embodiment. FIG. 2B shows the schematic arrangement ofthe article management system 200 according to this embodiment. Notethat the same reference numerals as in FIG. 2A denote the sameconstituent elements in FIG. 2B.

To recognize the number of displayed articles on the display shelves 201and 202 by the display recognizer 213, the article arrays of the frontlines of each of the display shelves 201 and 202 from the articleidentifier 211 and the display count information from the display countacquirer 212 need to be linked with each other. This is because thedisplay count information from the display count acquirer 212 does notinclude presence/absence information representing the location and typeof articles displayed on the display shelves. Hence, when each articleidentification information from the article identifier 211 and thedisplay count information from the display count acquirer 212 are linkedwith each other, the number of displayed articles on the display shelvescan be determined.

Position information 215 of the article presence/absence sensor in theimage shown in FIG. 2B conceptually shows information that links eacharticle identification information from the article identifier 211 withthe display count information from the display count acquirer 212.Different linking methods will be described below in the second to fifthembodiments. However, the present invention is not limited to this. Inthe second embodiment, a case where the information processing apparatus210 has the position information 215 of the article presence/absencesensor will be described.

(Operation Procedure)

FIG. 3A is a sequence chart showing the operation procedure of thearticle management system 200 including the information processingapparatus 210 according to this embodiment.

The image capturer 220 acquires the front image of a display shelf instep S301, and transmits the front image to the information processingapparatus 210 in step S303. On the other hand, the articlepresence/absence sensor 230 formed from a detection sensor group detectsthe presence/absence of an article on each sensor in step S305, andtransmits article presence/absence information to the informationprocessing apparatus 210 in step S307.

In step S309, the information processing apparatus 210 identifies eacharticle based on the front image of the display shelf. Next, in stepS311, the information processing apparatus 210 links the articleidentification information with the article presence/absence informationfrom the article presence/absence sensor, and specifies the position ofthe article presence/absence sensor on the display shelf. In step S313,the information processing apparatus 210 specifies the position of theidentified article and the number of articles in the depth direction.The number of displayed articles on the display shelf is thus counted.In step S315, the information processing apparatus 210 performsinventory management processing based on the number of displayedarticles on the display shelf. Note that the inventory managementprocessing is not limited.

(Operation Timing)

FIG. 3B is a timing chart showing an example 310 of the operation timingof the article management system 200 including the informationprocessing apparatus 210 according to this embodiment.

Article identification processing 311 of identifying displayed articlesfrom the front image of the display shelf shot by the image capturer 220is implemented in, for example, about 10 sec using an articleidentification method according to this embodiment. On the other hand,article presence/absence processing 312 of collecting and orderingarticle presence/absence information from the article presence/absencesensor 230 is implemented in, for example, about 1 sec using an articlepresence/absence detection method according to this embodiment.

FIG. 3B shows the timing in a case where the article identificationprocessing 311 and the article presence/absence processing 312 areindependently performed without being associated, and article displaycount decision processing 313 of specifying the array and number ofdisplayed articles on the display shelf is performed next to the end ofthe article presence/absence processing 312.

FIG. 3C is a timing chart showing another example 320 of the operationtiming of the article management system 200 including the informationprocessing apparatus 210 according to this embodiment. In FIG. 3C, thetiming is adjusted so as to end each article presence/absence processing322 in synchronism with the timing to complete the articleidentification processing 311 that needs a processing time of, forexample, about 10 sec. FIG. 3C shows the timing in a case where articledisplay count decision processing 323 is performed after completion ofarticle recognition by the article identification processing 311 andcompletion of article presence/absence detection by the articlepresence/absence processing 322. According to the timing shown in FIG.3C, it is possible to decrease the number of times of articlepresence/absence processing 322 to the number of times of articleidentification processing 311 and effectively perform the articledisplay count decision processing 323.

FIG. 3D is a timing chart showing still another example 330 of theoperation timing of the article management system 200 including theinformation processing apparatus 210 according to this embodiment. InFIG. 3D, article identification processing 331 starts if the articlepresence/absence information obtained the article presence/absenceprocessing 312 has changed (335). FIG. 3D shows the timing in a casewhere article display count decision processing 333 is performed aftercompletion of article recognition by the article identificationprocessing 331. According to the timing shown in FIG. 3D, since thearticle identification processing 331 is performed only when the numberof articles has changed in the article presence/absence processing 312(taken out by a customer or replenished by a clerk), it is possible todecrease the number of times of article identification processing 331and effectively perform the article display count decision processing333.

Note that the timing may be controlled to start article presence/absenceprocessing when an article change is recognized from the front image ofthe display shelf. The processing timing is not limited to these.

<<Functional Arrangement of Information Processing Apparatus>>

FIG. 4 is a block diagram showing the functional arrangement of theinformation processing apparatus 210 according to this embodiment. Notethat the same reference numerals as in FIGS. 2A and 2B denote the sameconstituent elements in FIG. 4.

The information processing apparatus 210 includes a communicationcontroller 401 that communicates via a WAN (Wide Area Network) or LAN(Local Area Network). An image receiver 402 receives, via thecommunication controller 401, the front image of a display shelf shot bythe image capturer 220. The article identifier 211 collates a localfeature generated from an article image stored in a local featuredatabase 403 with a local feature generated from the front image of thedisplay shelf, and identifies a matching article in the front image ofthe display shelf. On the other hand, an article presence/absenceinformation receiver 405 receives article presence/absence informationfrom the article presence/absence sensor 230 via the communicationcontroller 401.

An article array generator 407 refers to arrangement information of thearticle presence/absence sensor 230 in the display shelf stored in asensor database 406 serving as a shelf allocation storage, and generatesan article presence/absence array table representing the article arrayon the display shelf from the article presence/absence information. Thedisplay recognizer 213 links the article identification informationidentified by the article identifier 211 with the articlepresence/absence information generated by the article array generator407 and determines the shelf allocation of the display shelf, and alsocalculates the display count on the display shelf. The display count iscalculated by integrating the numbers of present articles linked witharticle columns having the same article identification information.

Based on the display count from the display recognizer 213, a storeinventory manager 410 refers to an inventory management database 409that holds inventory information of the store, and performs inventorymanagement processing of articles to be displayed on, for example, thedisplay shelves in the store. The result of inventory management isdisplayed on the display unit 214 such as a display or externallynotified from a display information transmitter 411 via thecommunication controller 401. Each functional unit operates inaccordance with an operation instruction received from an operation unitor received by an operation information receiver 412 via thecommunication controller 401.

(Local Feature Database)

FIG. 5A is a view showing the arrangement of the local feature database403 according to this embodiment. The local feature database 403 is usedto store a local feature generated from the image of each article andidentify an article upon comparison with a local feature generated froman input image. Note that the arrangement of the local feature database403 is not limited to that shown in FIG. 5A.

The local feature database 403 stores an article name/type 512 and alocal feature group 513 generated from an article in association with anarticle ID 511.

(Sensor Database)

FIG. 5B is a view showing the arrangement of a sensor database 406 aaccording to this embodiment. The sensor database 406 a indicates partof the sensor database 406 shown in FIG. 4 and is used to store theposition, in a display shelf, of an article presence/absence sensorarranged on the display shelf and link the article array of the frontline of the display shelf with article presence/absence information fromthe article presence/absence sensor. Note that the arrangement of thesensor database 406 a is not limited to that shown in FIG. 5B as long asthe information associates the article presence/absence sensor with theposition on the display shelf.

The sensor database 406 stores a shelf position 522 and a plurality oflayers 523 in association with a shelf ID 521 of the display shelf. Inassociation with each layer 523, a total number 524 of columns, a totalnumber 525 of articles, and sheet IDs 526 of a plurality of articlepresence/absence detection sheets arranged on the layer are stored. Asheet configuration 527 is stored in association with each sheet ID 526.The article presence/absence detection sheet is a sheet having at leastone column and including, in each column, a plurality of articlepresence/absence sensors as many as the number of depth-directionpositions (see FIGS. 9A to 9E). The sheet configuration 527 includes thenumber of columns of sensors on the sheet, the column width, the numberof depth-direction positions, the depth width, and the number ofarticles.

(Article Type Array Table)

FIG. 5C is a view showing the arrangement of an article type array table530 according to this embodiment. The article type array table 530 is atable that stores articles that the article identifier 211 hasidentified from the front image of a display shelf.

The article type array table 530 stores a shelf position 532 and aplurality of layers 533 in association with a shelf ID 531. Anidentified article IC 534, an article name/type 535, and an articleimage 536 are stored in association with each layer 533. Note that thearticle image 536 may be a local feature.

(Article Presence/Absence Array Table)

FIG. 5D is a view showing the arrangement of an article presence/absencearray table 540 according to this embodiment. The articlepresence/absence array table 540 is a table that stores an articlepresence/absence result that the article array generator 407 hasreceived from an article presence/absence sensor.

In association with a sheet ID 541, the article presence/absence arraytable 540 stores columns 542 provided on a sheet, display counts 543 ofthe columns, and an article arrangement 544. Note that the articlearrangement 544 stores the total number of depth-direction positions andthe presence/absence of articles on the column. In FIG. 5D, articlepresence is indicated by , and article absence is indicated by ◯. Thisstorage form enables detection of an error of article absence sandwichedbetween article presences.

(Shelf Allocation and Display Count Table)

FIG. 5E is a view showing the arrangement of a shelf allocation anddisplay count table 550 according to this embodiment. The shelfallocation and display count table 550 is a table that stores an articledisplay position and a display count which are calculated after thedisplay recognizer 213 links the article type array table 530 with thearticle presence/absence array table 540. Note that the same referencenumerals as in FIGS. 5C and 5D denote the same items in FIG. 5E.

The shelf allocation and display count table 550 stores the shelfposition 532 and the plurality of layers 533 in association with theshelf ID 531. In association with each layer 533, columns 551 are storedsequentially from the left to the right of the layer. In associationwith each column 551, the article IC 534, the article name/type 535, thearticle image 536, the display count 543, and the article arrangement544 of the column are stored.

A replenishment necessity flag 552 is stored based on the display count543 of each column. In FIG. 5E, “◯” indicates “replenishment necessary”,“Δ” indicates “attention to replenishment”, and “×” indicates“replenishment unnecessary”. In addition, a warning necessity flag 553is stored based on the article arrangement 544 of each column. In FIG.5E, “◯” indicates “warning necessary”, and “×” indicates “warningunnecessary”. Note that in FIG. 5E, an error of article absencesandwiched between article presences is discriminated in the fifthcolumn, as in FIG. 5D.

<<Article Identifier>>

Examples of the arrangement of the article identifier 211 will bedescribed below with reference to FIGS. 6A to 6G. Note that the articleidentifier 211 according to this embodiment is not limited to thoseshown in FIGS. 6A to 6G.

(Arrangement Example)

FIG. 6A is a block diagram showing the arrangement of an articleidentifier 211 a according to this embodiment. The article identifier211 a is an example of the article identifier 211 shown in FIG. 4, andincludes a captured image local feature generator 601, a region divider602, and a collator 603.

The captured image local feature generator 601 detects a number offeature points from the shot front image of the display shelf, andoutputs the coordinate position information group of the captured imageformed from the coordinate positions of the large number of featurepoints to the region divider 602. The captured image local featuregenerator 601 also outputs, to the collator 603, the local feature groupof the captured image formed from the local features of peripheralregions (neighboring regions) including the feature points based on thecoordinate positions of the feature points.

The region divider 602 clusters the feature points of the captured imageusing the coordinate position information group of the captured imageoutput from the captured image local feature generator 601, and alsooutputs, to the collator 603, a cluster information group formed from aplurality of pieces of cluster information associated with the pluralityof clusters including one or more feature points.

The collator 603 uses the local feature group of the captured imageoutput from the captured image local feature generator 601, the localfeature group of an article image stored in the local feature database403, and the cluster information group output from the region divider602. The collator 603 collates the local feature group of the capturedimage with the local feature group of the article image on a clusterbasis, thereby determining identity or similarity to each feature point.As a result, the collator 603 identifies an identical or similar objectbetween the captured image and the article image, and outputs thearticle ID as the identification result (collation result). Concerning afeature point determined to be identical or similar, the collator 603may output information of a region of the captured image determined tobe identical or similar based on the coordinate position information ofa feature point belonging to the cluster.

FIG. 6B is a block diagram showing the arrangement of the region divider602 in the article identifier 211 a shown in FIG. 6A according to thisembodiment. The region divider 602 includes a similarity calculator 611and a feature point clustering unit 612.

The similarity calculator 611 calculates the similarity between twoarbitrary local features in the local feature group of the capturedimage output from the captured image local feature generator 601, andoutputs a number of calculated similarities to the feature pointclustering unit 612 as similarity information group. A method ofcalculating the similarity between local features is assumed to, forexample, calculate the feature distance (for example, Euclideandistance) between two arbitrary local features and calculate thesimilarity based on the distance. At this time, if the distance value issmall, the similarity is made high, and if the distance value is large,the similarity is made low. A method of normalizing the feature distanceby a predetermined value and calculating the similarity from thenormalized value is also assumed to be used.

The feature point clustering unit 612 clusters the feature points of thecaptured image using the coordinate position information group of thecaptured image output from the captured image local feature generator601 and the similarity information group output from the similaritycalculator 611, and outputs a cluster information group representing theclustering result to the collator 603. The feature point clustering unit612 performs clustering to, for example, classify local features havinga high similarity (small distance value) to different clusters. Tocluster the feature points, for example, a method of calculating thedistance between an arbitrary feature point of the captured image andeach cluster center of gravity and classifying the feature point to acluster where the calculated distance is minimized is assumed to beused. At this time, if feature points of similarities equal or more thana threshold are included in an arbitrary cluster, a feature point whosedistance to the cluster center of gravity is long is excluded from thecluster and classified into another cluster. As the distance betweeneach feature point and the cluster center of gravity, for example, aEuclidean distance, Mahalanobis distance, or city block distance(Manhattan distance) may be used.

Clustering may be done using a graph cut method. For example, graph cutmay be provided to a graph obtained by calculating an edge value basedon the distance between feature points and the similarity between thelocal features using the feature points as nodes (for example, makingthe edge value between two nodes large if the distance between thefeature points is short, and the similarity between the local featuresis high). As the graph cut, for example, normalized cut or the Markovcluster algorithm may be used.

(Another Arrangement Example)

FIG. 6C is a block diagram showing the arrangement of an articleidentifier 211 b according to this embodiment. The article identifier211 b is another example of the article identifier 211 shown in FIG. 4,and includes the captured image local feature generator 601, a regiondivider 622, and the collator 603. The operations of the captured imagelocal feature generator 601 and the collator 603 are the same as in FIG.6A, and a description thereof will be omitted here. The operation of theregion divider 622 will mainly be described below.

The region divider 622 uses the local feature group of the capturedimage and the coordinate position information group of the capturedimage output from the captured image local feature generator 601, andthe local feature group of an article image output from the localfeature database 403. The region divider 622 clusters the feature pointsof the captured image and outputs a cluster information group associatedwith the clustering result to the collator 603.

FIG. 6D is a block diagram showing the arrangement of the region divider622 in the article identifier 211 b shown in FIG. 6C according to thisembodiment. The region divider 622 includes a corresponding pointsearcher 631 and a feature point clustering unit 632.

The corresponding point searcher 631 uses the local feature group of thecaptured image output from the captured image local feature generator601 and the local feature group of an article image output from thelocal feature database 403. The corresponding point searcher 631generates corresponding information that is information representingwhich local feature of the local feature group of the article imagematches an arbitrary local feature included in the local feature groupof the captured image, that is, which feature point of the article imagecorresponds to an arbitrary feature point of the captured image. Thecorresponding point searcher 631 also outputs a number of pieces ofgenerated corresponding information to the feature point clustering unit632 as a corresponding information group.

To generate the corresponding information, for example, the same methodas that of the collator 603 shown in FIG. 6A is assumed to be used. Asthe corresponding relationship, a given feature point of the articleimage may correspond to a plurality of feature points of the capturedimage. In addition, the feature points of the captured image maycorrespond to the feature points of the article image in a one-to-onecorrespondence.

The feature point clustering unit 632 uses the coordinate positioninformation group output from the captured image local feature generator601 and the corresponding information group output from thecorresponding point searcher 631. The feature point clustering unit 632selects feature points having the corresponding relationship withfeature points of the article image out of the feature points of thecaptured image, and clusters the selected feature points of the capturedimage based on their coordinate positions. The feature point clusteringunit 632 also outputs a cluster information group representing theresult of clustering to the collator 603. To cluster the feature points,a known method is assumed to be used.

If a feature point of the article image corresponds to a plurality offeature points of the captured image, the feature point clustering unit632 may cluster the feature points of the captured image to differentclusters. To do this, the feature point clustering unit 632 is assumedto use clustering by graph cut. In this case, if a feature point of thearticle image corresponds to a plurality of feature points of thecaptured image, a graph is assumed to be generated using the pluralityof feature points of the captured image as nodes such that the edgevalues between the nodes become small, and graph cut is applied todivide the nodes having a small edge value. As the graph cut, forexample, normalized cut or the Markov cluster algorithm may be used.

If the distance between two arbitrary feature points of a first image isshort (for example, the distance value is smaller than a threshold), andthe feature point distance in the article image corresponding to thefeature points is long (for example, the distance value is larger thananother threshold), the feature point clustering unit 632 may classifythe two feature points of the captured image to different clusters. Todo this, clustering by graph cut is assumed to be used, as in theabove-described case.

The feature point clustering unit 632 may use, for example, a method ofcounting, for each analysis region having an arbitrary size, featurepoints included in the region and if the count value is equal to orlarger than a predetermined threshold, classifying the feature pointsincluded in the region to the same cluster. When the feature points areclustered in this way, processing can be performed at a higher speed.

(Still Another Arrangement Example)

FIG. 6E is a block diagram showing the arrangement of an articleidentifier 211 c according to this embodiment. The article identifier211 c is still another example of the article identifier 211 shown inFIG. 4, and includes the captured image local feature generator 601, aregion divider 642, and the collator 603. The operations of the capturedimage local feature generator 601 and the collator 603 are the same asin FIGS. 6A and 6C, and a description thereof will be omitted here.

The region divider 642 uses the local feature group of the capturedimage and the coordinate position information group of the capturedimage output from the captured image local feature generator 601, andthe local feature group of an article image and the coordinate positioninformation group of the article image output from the local featuredatabase 403. The region divider 642 clusters the feature points of thecaptured image and outputs a cluster information group representing theclustering result to the collator 603.

FIG. 6F is a block diagram showing the arrangement of a region divider642 a in the article identifier 211c shown in FIG. 6E according to thisembodiment. The region divider 642 a is an example of the region divider642 shown in FIG. 6E, and includes the corresponding point searcher 631,a ratio calculator 652, and a feature point clustering unit 653.

The corresponding point searcher 631 generates a correspondinginformation group by the same operation as in FIG. 6D, and outputs thegenerated corresponding information group to the ratio calculator 652and the feature point clustering unit 653.

The ratio calculator 652 uses the local feature group of the capturedimage output from the captured image local feature generator 601, thelocal feature group of an article image output from the local featuredatabase 403, and the corresponding information group output from thecorresponding point searcher 631. The ratio calculator 652 calculatesthe ratio of the distance (to be referred to as a feature point distancehereinafter) between two arbitrary feature points of the captured imageto the feature point distance in a second image corresponding to thefeature points, and outputs a number of calculated ratios to the featurepoint clustering unit 653 as a ratio information group. As the featurepoint distance, for example, a Euclidean distance, Mahalanobis distance,or city block distance is assumed to be used.

The feature point clustering unit 653 uses the coordinate positioninformation group of the captured image output from the captured imagelocal feature generator 601, the corresponding information group outputfrom the corresponding point searcher 631, and the ratio informationgroup output from the ratio calculator 652. The feature point clusteringunit 653 clusters the feature points of the captured image and outputs acluster information group representing the clustering result to thecollator 603. Clustering is assumed to be performed so as to, forexample, classify feature points for which the calculated ratiodifference is small to the same cluster (classify feature points forwhich the ratio difference is large to different clusters). At thistime, clustering is performed using graph cut. More specifically, forexample, graph cut is assumed to be applied to a graph obtained bymaking the edge value between nodes large based on the distance betweenfeature points and the ratio difference using the feature points as thenodes. As the graph cut, for example, normalized cut or the Markovcluster algorithm may be used.

The feature point clustering unit 653 is also assumed to, for example,cluster the feature points of the captured image in the following wayusing the coordinate position information group, the correspondinginformation group, and the ratio information group. In this case, abelonging probability that a given feature point belongs to an arbitrarycluster is calculated using the ratio information group between thefeature point and a plurality of peripheral feature points. In thiscase, the feature point clustering unit 653 performs clustering based onthe calculated belonging probability and the coordinate positioninformation of the feature point. To cluster the feature points, forexample, a method of selecting a feature point of the captured imagecorresponding to an arbitrary feature point of an article image based onthe corresponding information group, calculating the distance betweenthe feature point and each cluster center of gravity based on thecoordinate position information and the belonging probability, andclassifying the feature point to a cluster where the calculated distanceis minimized is assumed to be used.

FIG. 6G is a block diagram showing the arrangement of a region divider642 b in the article identifier 211 c shown in FIG. 6E according to thisembodiment. The region divider 642 b is another example of the regiondivider 642 shown in FIG. 6E, and includes the corresponding pointsearcher 631, the ratio calculator 652, a rotation amount calculator661, and a feature point clustering unit 662. The operation of the ratiocalculator 652 is the same as in FIG. 6F, and a description thereof willbe omitted here.

The corresponding point searcher 631 generates a correspondinginformation group by the same operation as in FIG. 6D, and outputs thegenerated corresponding information group to the ratio calculator 652,the rotation amount calculator 661, and the feature point clusteringunit 662.

The rotation amount calculator 661 uses the coordinate positioninformation group of the captured image output from the captured imagelocal feature generator 601, the corresponding information group outputfrom the corresponding point searcher 631, and the coordinate positioninformation group of an article image output from the local featuredatabase 403. The rotation amount calculator 661 calculates thedirection of a vector formed by two feature points of the captured imageand the direction of a vector formed by two feature points of thearticle image. The rotation amount calculator 661 also calculates therotation amount of the object of the captured image from the calculatedvector directions, and outputs a number of calculated rotation amountsto the feature point clustering unit 662 as a rotation amountinformation group.

The feature point clustering unit 662 uses the coordinate positioninformation group of the captured image output from the captured imagelocal feature generator 601, the corresponding information group outputfrom the corresponding point searcher 631, the ratio information groupoutput from the ratio calculator 652, and the rotation amountinformation group output from the rotation amount calculator 661. Thefeature point clustering unit 662 clusters the feature points of thecaptured image. In addition, the feature point clustering unit 662outputs a cluster information group associated with each clusterobtained as the result of clustering to the collator 603.

For example, feature points for which the calculated ratio differenceand rotation amount difference are small may be classified to the samecluster (feature points for which the ratio difference and the rotationamount difference are large may be classified to different clusters).Clustering is assumed to be performed using, for example, graph cut. Forexample, graph cut may be provided to a graph obtained by calculating anedge value based on the distance, the ratio difference, and the rotationamount difference between feature points using feature points as nodes(for example, making the edge value between two nodes large if thedistance value between the feature points is short, and the ratiodifference and the rotation amount difference are small). As the graphcut, for example, normalized cut or the Markov cluster algorithm isassumed to be used.

Referring to FIG. 6G, a relative coordinate position database includinga table representing the relative coordinate positions of the referencepoint (for example, object center) of the article image and the featurepoints of the article image may be provided. The reference point is apredetermined coordinate position on the second image. The referencepoint can be the object center or the coordinate position of the upperleft corner of the article image, as described above. A description willbe made below assuming that the reference point indicates the objectcenter.

The feature point clustering unit 662 uses the coordinate positioninformation group of the captured image output from the captured imagelocal feature generator 601, the corresponding information group outputfrom the corresponding point searcher 631, the ratio information groupoutput from the ratio calculator 652, the rotation amount informationgroup output from the rotation amount calculator 661, and the relativecoordinate position stored in the relative coordinate position database.The feature point clustering unit 662 clusters the feature points of thecaptured image. In addition, the feature point clustering unit 662outputs a cluster information group representing the result ofclustering to the collator 603.

To cluster the feature points, for example, a method of selecting, outof the feature points of the captured image, a number of feature pointscorresponding to an arbitrary feature point of the article image basedon the corresponding information group, estimating the object centerpoint of the captured image based on the coordinate positions of theselected feature points, and clustering the estimated object centerpoints based on their coordinate positions is usable. To cluster theobject center points, for example, a method of counting, for eachanalysis region having an arbitrary size, object center points includedin the region and if the count value is equal to or larger than apredetermined threshold, classifying the object center points includedin the region to the same cluster may be used. When the object centerpoints are clustered in this way, processing can be performed at ahigher speed.

<<Local Feature Generator>>

FIG. 7A is a block diagram showing the arrangement of the local featuregenerator 601 according to this embodiment. The local feature generator601 includes a feature point detector 711, a local region acquirer 712,a subregion divider 713, a subregion feature vector generator 714, and adimension selector 715.

The feature point detector 711 detects a number of characteristic points(feature points) from image data, and outputs the coordinate position,scale (size), and angle of each feature point. The local region acquirer712 acquires a local region to do feature extraction from the coordinateposition, scale, and angle of each detected feature point. The subregiondivider 713 divides the local region into subregions. For example, thesubregion divider 713 can divide the local region into 16 blocks (4×4blocks) or 25 blocks (5×5 blocks). Note that the number of divisions isnot limited. In this embodiment, a description will be made belowrepresentatively assuming a case where the local region is divided into25 blocks (5×5 blocks).

The subregion feature vector generator 714 generates a feature vectorfor each subregion of the local region. As the feature vector of asubregion, for example, a gradient direction histogram can be used.Based on the positional relationship between the subregions, thedimension selector 715 selects dimensions to be output as local featuressuch that the correlation between the feature vectors of subregions inclose vicinity lowers (for example, dimensions are deleted or thinnedout). The dimension selector 715 can not only simply select dimensionsbut also decide the priority order of selection. That is, the dimensionselector 715 can select dimensions according to a priority order so asto, for example, prohibit dimensions in the same gradient direction frombeing selected for adjacent subregions. The dimension selector 715outputs feature vectors formed from the selected dimensions as localfeatures. Note that the dimension selector 715 can output the localfeatures in a state in which the dimensions are rearranged based on thepriority order.

<<Processing of Local Feature Generator>>

FIGS. 7B to 7F are views showing the processing of the local featuregenerator 601 according to this embodiment.

FIG. 7B is a view showing a series of processes of feature pointdetection/local region acquisition/subregion division/feature vectorgeneration in the local feature generator 601. For more information ofthe series of processes, see U.S. Pat. No. 6,711,293 or David G. Lowe,

“Distinctive image features from scale-invariant key points”, (U.S.A.),International Journal of Computer Vision, 60(2), 2004, pp. 91-110.

(Feature Point Detector)

An image 721 shown in FIG. 7B shows a state in which feature points aredetected from an image of a video by the feature point detector 711shown in FIG. 7A. Local feature generation will be explained belowrepresentatively using one feature point data 721 a. The starting pointof the arrow of the feature point data 721 a represents the coordinateposition of the feature point, the length of the arrow represents thescale (size), and the direction of the arrow represents the angle. Asthe scale (size) or direction, a brightness, chroma, hue, or the likecan be selected in accordance with the target video. In the example ofFIG. 7B, a case where six directions are set at an interval of 60° willbe described. However, the present invention is not limited to this.

(Local Region Acquirer)

The local region acquirer 712 shown in FIG. 7A generates, for example, aGaussian window 722 a with respect to the starting point of the featurepoint data 721 a as the center, and generates a local region 722including most of the Gaussian window 722 a. In the example of FIG. 7B,the local region acquirer 712 generates the square local region 722.However, the local region may have a circular shape or any other shape.The local region is acquired for each feature point. If the local regionis circular, robustness in the capturing direction improves.

(Subregion Divider)

A state in which the subregion divider 713 divides the scale and angleof each pixel included in the local region 722 of the feature point data721 a into subregions 723 is illustrated. Note that FIG. 7B shows anexample in which the local region is divided into 5×5=25 subregions eachformed from 4×4=16 pixels. However, the subregions may have anothershape, and another number of divisions such as 4×4=16 may be employed.

(Subregion Feature Vector Generator)

The subregion feature vector generator 714 generates a histogram foreach of the angles of six directions based on the scales of the pixelsin each subregion and quantizes the histogram to obtain a feature vector724 of the subregion. That is, the directions are normalized to theangles output from the feature point detector 711. The subregion featurevector generator 714 totals the frequencies of the six directionsquantized on a subregion basis to generate a histogram. In this case,the subregion feature vector generator 714 outputs feature vectorsformed from 25 subregion blocks×6 directions=a 150-dimensional histogramgenerated for each feature point. The gradient directions need notalways be quantized to six directions and can be quantized to anarbitrary quantization number such as four directions, eight directions,or 10 directions. When quantizing the gradient directions to Ddirections, letting G (0 to 2π radian) be the gradient direction beforequantization, a quantization value Qq (q=0, . . . , D−1) in the gradientdirection can be obtained by

Qq=floor(G×D/2π)   (1)

or

Qq=round(G×D/2π)modD   (2)

However, the present invention is not limited to this.

Here, floor( ) is a function of dropping fractions below the decimalpoint, round( ) is a function of performing rounding, and mod is anoperation of obtaining the remainder. When generating a gradienthistogram, the subregion feature vector generator 714 may add and totalthe magnitudes of the gradients, instead of totaling simple frequencies.When totaling gradient histograms, the subregion feature vectorgenerator 714 may add a weight value not only to a subregion to which apixel belongs but also to a subregion in close vicinity (for example,adjacent block) in accordance with the distance between the subregions.The subregion feature vector generator 714 may also add a weight valueto gradient directions before and after the quantized gradientdirections. Note that the feature vector of a subregion is not limitedto a gradient direction histogram, and any data having a plurality ofdimensions (elements) such as color information can be used. In thisembodiment, a description will be made assuming that a gradientdirection histogram is used as the feature vector of a subregion.

(Dimension Selector)

Processing of the dimension selector 715 in the local feature generator601 will be described next with reference to FIGS. 7C to 7F.

Based on the positional relationship between the subregions, thedimension selector 715 selects (thins out) dimensions (elements) to beoutput as a local feature such that the correlation between the featurevectors of subregions in close vicinity lowers. More specifically, thedimension selector 715 selects dimensions such that, for example, atleast one gradient direction changes between adjacent subregions. Notethat in this embodiment, the dimension selector 715 mainly uses anadjacent subregion as a subregion in close vicinity. However, thesubregion in close vicinity is not limited to the adjacent subregionand, for example, a subregion within a predetermined distance from thetarget subregion may be used as a subregion in close vicinity.

FIG. 7C is a view showing an example in which dimensions are selectedfrom feature vectors 731 of 150-dimensional gradient histogramsgenerated by dividing a local region into subregions of 5×5 blocks andquantizing the gradient directions to six directions 731 a. In theexample of FIG. 7C, dimensions are selected from 150-dimensional (5×5=25subregion blocks×6 directions) feature vectors.

(Dimension Selection in Local Region)

FIG. 7C is a view showing a state of processing of selecting the numberof dimensions of feature vectors by the local feature generator 601.

As shown in FIG. 7C, the dimension selector 715 selects feature vectorshaving ½ dimensions, that is, feature vectors 732 of 75-dimensionalgradient histograms from the feature vectors 731 of the 150-dimensionalgradient histograms. In this case, the dimensions can be selected not toselect dimensions of the same gradient directions between subregionblocks adjacent in the horizontal and vertical directions.

In this example, let q (q=0, 1, 2, 3, 4, 5) be a quantized gradientdirection in the gradient direction histogram. Blocks in which elementsq=0, 2, 4 are selected and subregion blocks in which elements q=1, 3, 5are selected are alternately arranged. In the example of FIG. 7C, whenthe gradient directions selected in adjacent subregion blocks arecombined, a total of six directions are selected.

In addition, the dimension selector 715 selects feature vectors 733 of50-dimensional gradient histograms from the feature vectors 732 of the75-dimensional gradient histograms. In this case, the dimensions can beselected such that subregion blocks diagonally located at 45° haveidentical directions only in one direction (remaining directions aredifferent).

Furthermore, when selecting feature vectors 734 of 25-dimensionalgradient histograms from the feature vectors 733 of 50-dimensionalgradient histograms, the dimension selector 715 can select thedimensions not to make the selected gradient directions match betweensubregion blocks diagonally located at 45°. In the example shown in FIG.7C, the dimension selector 715 selects one gradient direction from eachsubregion from one dimension to 25 dimensions, two gradient directionsfrom 26 dimensions to 50 dimensions, and three gradient directions from51 dimensions to 75 dimensions.

As described above, it is preferable to select gradient directions thatdo not overlap between adjacent subregion blocks and evenly select allthe gradient directions. At the same time, the dimensions are preferablyevenly selected from the entire local region, as in the example shown inFIG. 7C. Note that the dimension selection method shown in FIG. 7C ismerely an example, and the selection method is not limited to this.

(Priority Order in Local Region)

FIG. 7D is a view showing an example of the feature vector selectionorder from subregions in the local feature generator 601.

The dimension selector 715 can not only simply select dimensions butalso decide the priority order of selection so as to select dimensionsin the order of contribution to the features of feature points. That is,the dimension selector 715 can select dimensions according to a priorityorder so as to prohibit dimensions in the same gradient direction frombeing selected for adjacent subregion blocks. The dimension selector 715outputs feature vectors formed from the selected dimensions as localfeatures. Note that the dimension selector 715 can output the localfeatures in a state in which the dimensions are rearranged based on thepriority order.

That is, the dimension selector 715 may make a selection so as to adddimensions in the order of subregion blocks as indicated by, forexample, a matrix 741 shown in FIG. 7D during selection of one to 25dimensions, 26 to 50 dimensions, and 51 to 75 dimensions. When thepriority order indicated by the matrix 741 shown in FIG. 7D is used, thedimension selector 715 can select the gradient directions while givinghigher priority to subregion blocks close to the center.

A matrix 751 in FIG. 7E shows an example of the numbers of elements of150-dimensional feature vectors according to the selection order shownin FIG. 7D. In this example, when each of 5×5=25 blocks is indicated bya number p (p=0, 1, . . . , 25) in the raster scan order, and aquantized gradient direction is represented by q (q=0, 1, 2, 3, 4, 5),the number of an element of a feature vector is represented by 6×p+q.

A matrix 761 in FIG. 7F shows a state in which the 150 dimensionsaccording to the selection order shown in FIG. 7E form a hierarchy onthe basis of 25 dimensions. That is, the matrix 761 in FIG. 7F shows anexample of the arrangement of local features obtained by selecting theelements shown in FIG. 7E in accordance with the priority orderindicated by the matrix 741 in FIG. 7D. The dimension selector 715 canoutput the dimensional elements in the order shown in FIG. 7F. Morespecifically, when outputting, for example, 150-dimensional localfeatures, the dimension selector 715 can output elements of a total of150 dimensions in the order shown in FIG. 7F. Additionally, whenoutputting, for example, 25-dimensional local features, the dimensionselector 715 can output elements 771 of the first line (76th, 45th,83rd, . . . , 120th elements) shown in FIG. 7F in the order (from leftto right) shown in FIG. 7F. When outputting, for example, 50-dimensionallocal features, the dimension selector 715 can output elements 772 ofthe second line shown in FIG. 7F in the order (from left to right) shownin FIG. 7F, in addition to the first line shown in FIG. 7F.

In the example shown in FIG. 7F, the local features have a hierarchicalstructural sequence. That is, for example, in the 25-dimensional localfeatures and the 150-dimensional local features, the arrangements of theelements 771 to 776 in the local features of the first 25 dimensions arethe same. By thus hierarchically (progressively) selecting thedimensions, the dimension selector 715 can extract and output anarbitrary number of dimensions of local features, that is, localfeatures of an arbitrary size in accordance with the application,communication capacity, terminal specifications, and the like. Inaddition, the dimension selector 715 can perform image collation usinglocal features of different number of dimensions by hierarchicallyselecting the dimensions and rearranging and outputting them based onthe priority order. For example, when performing image collation using75-dimensional local features and 50-dimensional local features, thedistance between local features can be calculated using only first 50dimensions.

Note that the priority order shown in FIG. 7F based on the matrix 741shown in FIG. 7D is merely an example, and the order to selectdimensions is not limited to this. For example, as the order of blocks,not only the example of the matrix 741 shown in FIG. 7D but also anorder indicated by a matrix 742 shown in FIG. 7D or a matrix 743 shownin FIG. 7D may be used. For example, the priority order may be decidedso as to evenly select dimensions from all subregions. Alternatively,assuming that the degree of importance is high near the center of thelocal region, the priority order may be decided such that the selectionfrequency of a subregion near the center becomes high. Informationrepresenting the dimension selection order can be, for example, definedby a program or stored in a table or the like (skeleton order storage)to be referred to when executing a program.

The dimension selector 715 may select dimensions by selecting subregionblocks on an alternate basis. That is, six dimensions are selected in acertain subregion, and no dimension is selected in another subregion inclose vicinity to the subregion. In this case as well, the dimensionscan be said to be selected for each subregion such that the correlationbetween subregions in close vicinity lowers.

The shape of the local region or subregion is not limited to a square,and an arbitrary shape can be used. For example, the local regionacquirer 712 may acquire a circular local region. In this case, thesubregion divider 713 can divide the circular local region into 9 or 17subregions, for example, in concentric circle shape having a pluralityof subregions. In this case as well, the dimension selector 715 canselect dimensions in each subregion.

As described above, according to the local feature generator 601 of thisembodiment, the dimensions of generated feature vectors arehierarchically selected while maintaining the information amount oflocal features, as shown in FIGS. 7B to 7F. This processing makes itpossible to recognize landscape elements and display the recognitionresult in real time while maintaining the recognition accuracy. Notethat the arrangement and processing of the local feature generator 601are not limited to those of the example. It is of course possible toapply another processing capable of recognizing landscape elements anddisplay the recognition result in real time while maintaining therecognition accuracy.

(Article Array Generator)

FIG. 8A is a block diagram showing the arrangement of the article arraygenerator 407 according to this embodiment. Note that articlepresence/absence information as the target of the article arraygenerator 407 is not limited to information obtained by an articlepresence/absence sensor with an RFID tag shown in FIGS. 8A to 9E.

The article array generator 407 includes an RFID (Radio FrequencyIDentification: individual identifier by radio waves) acquirer 801, atag sheet determiner 802, an article position determiner 803, and anarticle array decision 804.

The RFID acquirer 801 acquires the ID of an RFID tag representingarticle presence received by the article presence/absence informationreceiver 405. The tag sheet determiner 802 specifies a tag sheetposition on a display shelf based on the RFID (to be referred to as asheet ID hereinafter) of a sheet detected from an articlepresence/absence detection tag sheet. The article position determiner803 specifies an article position on the display shelf based on the RFID(to be referred to as an article position ID hereinafter) of an articleposition detected from each article presence/absence determination tagof the tag sheet.

The article array decision 804 decides an article array on the displayshelf including the number of depth-direction positions based on thearrangement of the tag sheet on the display shelf from the tag sheetdeterminer 802 and the article position on the display shelf from thearticle position determiner 803. Note that the article array output fromthe article array decider 804 is an array of article presence/absence,and what kind of article is arranged in each column is unknown.

(Operation Procedure)

FIG. 8B is a sequence chart showing the operation procedure of articlepresence/absence data acquisition according to this embodiment. Notethat in this embodiment, an RFID reader transmits a tag information readsignal including an ID to an RFID tag placed at each article arrangementposition. If the RFID tag responds in a signal strength more than athreshold, it is determined that no article is present. If the RFID tagresponds in a signal strength less than the threshold, it is determinedthat an article is present.

In step S801, the information processing apparatus 210 sets a thresholdused to determine the presence/absence of an article based on thestrength of an RFID response signal. This threshold setting may be donenot only as initial setting but also based on the history of, forexample, error occurrence in article presence/absence detection.

In step S803, the RFID reader transmits a command including an RFID toan RFID tag to identify a tag sheet. The RFID tag for tag sheet with amatching RFID returns a response signal in step S805. The RFID readerreceives the response from the RFID tag for tag sheet, and notifies theinformation processing apparatus 210 that the tag sheet is arranged onthe layer of the display shelf as the target of the RFID reader in stepS807. In step S809, the information processing apparatus 210 notifiesthe RFID reader of RFIDs of RFID tags for article detection on the tagsheet based on the tag sheet ID. Note that the RFID reader may find theRFIDs of the RFID tags for article detection on the sheet. Note thatthis processing is performed to shorten the RFID tag operationprocessing, and the RFIDs may be scanned throughout the bits.

In step S811, the RFID reader transmits a command including an RFID toeach of RFID tags for article detection on the sheet. The RFID tag forarticle presence/absence detection with a matching RFID returns aresponse signal to the RFID reader in step S813. The RFID readerreceives the response from the RFID tag for article presence/absencedetection, and compares the signal strength of the response signal withthe threshold in step S815. If the signal strength is less than thethreshold, it is determined that an article is present. If the signalstrength is more than the threshold, it is determined that no article ispresent. The RFID reader notifies the information processing apparatus210 of the RFIDs of present articles.

In step S817, the information processing apparatus 210 receives theRFIDs of present articles, refers to the sensor database 406, anddecides the article array on the display shelf as shown in FIG. 5D.

(Communication Procedure)

FIG. 8C is a sequence chart showing a communication procedure at thetime of article presence/absence data acquisition according to thisembodiment.

A message 810 used to transmit the RFID of a tag sheet on the displayshelf from the RFID reader to the information processing apparatus 210includes a header 811, an information processing apparatus as atransmission destination 812, an RFID reader as a transmission source813, a sequence of tag sheet IDs 814 that has responded to the RFIDreader, and a CRC 815 as error correction. A message 820 used totransmit an RFID of article presence/absence detection on a tag sheetfrom the information processing apparatus 210 to the RFID readerincludes a header 821, an RFID reader as a transmission destination 822,an information processing apparatus as a transmission source 823, asequence of RFIDs 824 for article presence/absence detection, and a CRC825 as error correction. A message 830 used to transmit an RFID ofarticle presence from the RFID reader to the information processingapparatus 210 includes a header 831, an information processing apparatusas a transmission destination 832, an RFID reader as a transmissionsource 833, a sequence of RFIDs 834 for which the response signalstrength to the RFID reader is less than the threshold, and a CRC 835 aserror correction.

(Sensor Database)

FIG. 8D is a view showing the arrangement of a sensor database 406 baccording to this embodiment. The sensor database 406 b represents partof the sensor database 406 shown in FIG. 4, and stores at which positionof which layer of which display shelf a tag sheet is arranged. Inassociation with a sheet ID 841, the sensor database 406 b stores adetermined position on the display shelf for each article arrangementposition of the tag sheet. That is, the sensor database 406 b stores adisplay shelf 843, a layer 844, a column 845, and a depth-directionposition 846 in correspondence with an RFID that is an article positionID 842. The number of displayed articles can be calculated by linkingthe article positions with articles from the front image of the displayshelf.

FIG. 8E is a view showing the arrangement of a sensor database 406 caccording to this embodiment. The sensor database 406 c representsanother example of part of the sensor database 406 shown in FIG. 4, andstores at which position of which layer of which display shelf anarticle is arranged in correspondence with an RFID that is an articleposition ID. If all article position IDs on the display shelf are storedin this way, the article array can be decided. Then, the number ofdisplayed articles can be calculated by linking articles from the frontimage of the display shelf.

<<Article Presence/Absence Sensor>>

FIG. 9A is a view showing the arrangement of the articlepresence/absence sensor 230 according to this embodiment. Although FIG.9A shows an example in which two tag sheets are arranged on the displayshelf, the present invention is not limited to this. Note that thearrangement of the article presence/absence sensor 230 is not limited tothose shown in FIGS. 9A to 9E.

A tag sheet 910 includes a management target article non-arrangementregion 911 and a management target article arrangement region 913. Asheet recognition RFID tag 912 is arranged in the management targetarticle non-arrangement region 911. Article presence/absence sensingRFID tags 914 are arranged in the management target article arrangementregion 913. The sensing RFID tags 914 can detect the presence/absence ofa total of six articles on 2 columns×3 depth-direction positions.

A tag sheet 920 includes a management target article non-arrangementregion 921 and a management target article arrangement region 923. Asheet recognition RFID tag 922 is arranged in the management targetarticle non-arrangement region 921. Article presence/absence sensingRFID tags 924 are arranged in the management target article arrangementregion 923. The sensing RFID tags 924 can detect the presence/absence ofa total of 12 articles on 3 columns×4 depth-direction positions.

The tag sheets 910 and 920 are arranged on a spacer 931. A readerantenna 932 is arranged on the lower surface of the spacer 931. Thereader antenna 932 is connected to an RFID reader 940 via a connectionline 941. The thickness of the spacer 931 affects a change inelectromagnetic coupling when an article is placed near the uppersurface of the sensing RFID tag 924, as will be described later.Although not illustrated, another spacer is preferably arranged betweenthe tag sheets 910 and 920 and the bottoms of articles to stabilize thedistance between them from the viewpoint of stabilizing the influence onthe electromagnetic coupling. It is determined that an article is placedon the sensing RFID tag 924 whose response signal to the RFID reader 940is less than a threshold, and the information processing apparatus 210is notified of it via a communication line. Note that the communicationline may be a channel for wireless communication.

According to the article presence/absence sensor 230 of this embodiment,since the sensing RFID tag 914 is not adhered to an article, an increasein cost caused by tag adhesion can be prevented. In addition, there isneither a problem concerning an invasion of privacy or informationsecurity nor a problem concerning fears of consumers which is caused byunauthorized reading of the sensing RFID tag 914 adhered to a purchasedarticle. That is, a problem of unauthorized reading of tag informationby a third party does not arise.

(Reader Antenna)

FIG. 9B is a view showing the arrangement of the reader antenna 932 inthe article presence/absence sensor 230 according to this embodiment.The reader antenna 932 that is wired while being separated from at leastone tag sheet by the spacer 931 can have various arrangements. FIG. 9Bshows two examples.

A reader antenna 953 is an antenna with two parallel lines. Two lines ofeach row are connected to the RFID reader 940 by the connection line 941via a distributor 951.

A reader antenna 954 is an antenna with microstrip lines. The microstripline of each row is connected to the RFID reader 940 by the connectionline 941 via a distributor 952. In the case of microstrip lines, aground conductor 955 is connected via a matching terminating resistor(not shown).

The tag sheet including an RFID tag is arranged while being separatedfrom the two lines or microstrip lines by the spacer 931.

(Article Arrangement)

FIG. 9C is a view showing the arrangement of articles on the articlepresence/absence sensor 230 according to this embodiment. Note that thesame reference numerals as in FIG. 9A denote the same elements in FIG.9C, and a description thereof will be omitted.

FIG. 9C shows a case where an article 961 is arranged near the uppersurface of each sensing RFID tag 914 on the tag sheet 910. In thisembodiment, the articles 961 in the depth direction on a single columnare assumed to be identical.

The principle of detecting the presence/absence of an article near theupper surface of the sensing RFID tag 914 by the RFID reader 940 via thereader antenna 932 in this way will be described below.

(RFID Tag)

FIG. 9D is a view showing the arrangement of the RFID tag 914 of thearticle presence/absence sensor 230 according to this embodiment.

FIG. 9D shows the plan view of the display shelf. As the plan view, FIG.9D shows an enlarged view of a region where one article 961 is placed.As shown in FIG. 9D, the reader antenna 954 with microstrip lines isformed on an article management plate 900. The RFID tag 914 is placedabove the reader antenna 954. An article arrangement region where thearticle 961 is placed is set above the RFID tag 914 at a position tocover the RFID tag 914. The RFID tag 914 includes an RFID chip 971 and atag antenna 972.

(Positional Relationship)

FIG. 9E is a view showing the positional relationship in the articlepresence/absence sensor 230 according to this embodiment.

The article presence/absence sensor 230 according to this embodimentdetermines the presence/absence of an article based on the strength of aresponse signal returned from the sensing RFID tag 914 with a matchingRFID in response to a command including an RFID transmitted from theRFID reader 940 via the reader antenna 932. If no article exists, andthe electromagnetic coupling between the reader antenna 932 and thesensing RFID tag 914 is strong, a strong response signal is returned tothe reader antenna 932. The strength of the response signal is comparedwith the threshold. Since the strength is more than the threshold, it isdetermined that no article is present. On the other hand, if an articleexists, and the electromagnetic coupling between the reader antenna 932and the sensing RFID tag 914 is weak, a weak response signal is returnedto the reader antenna 932. The strength of the response signal iscompared with the threshold. Since the strength is less than thethreshold, it is determined that an article is present.

The structure of the article presence/absence sensor 230 suitable fordetermining the strength of the response signal will briefly bedescribed below. Referring to FIG. 9E, a distance L1 is the distancefrom the tag antenna 972 of the sensing RFID tag 914 to the bottom ofthe article 961. A distance L2 is the distance from the tag antenna 972of the sensing RFID tag 914 to the reader antenna 954 with microstriplines. Note that since the distances L1 and L2 are preferably stable,the sensing RFID tag 914 may be covered with a plastic plate or the liketo use the thickness of the plastic plate, or any other method isusable.

In the article presence/absence sensor 230 according to this embodiment,the distances L1 and L2 are adjusted to adjust a coupling coefficient k2between the article 961 and the tag antenna 972 and a couplingcoefficient k1 between the tag antenna 972 and the reader antenna 954.The signal strength between the tag antenna 972 and the reader antenna954 is changed in accordance with the coupling coefficient k2 thatchanges depending on the presence/absence of the article 961, and thepresence/absence of the article 961 is determined based on the change inthe signal strength. The coupling coefficients k1 and k2 meet arelationship k1<k2. For this reason, a change in the reflected signalstrength caused by the frequency change of the tag antenna 972 dependingon the presence/absence of an article becomes larger than that caused bymaintaining communication between the reader antenna 954 and the tagantenna 972. That is, since the presence/absence of the article 961 canreliably be grasped, a detection error can be suppressed.

In the article presence/absence sensor 230 according to this embodiment,letting λ be the wavelength of the radio signal between the tag antenna972 and the reader antenna 954, distance L1≦λ and distance L2≦λ can beset. Since the communication range between the tag antenna 972 and thereader antenna 954 is narrow, and there is no influence of disturbanceor noise, the presence/absence of an article can stably be determined.It is also easy to arrange the antennas that meet a relationshipL2≦λ/2π. When the relationship L2≦λ/2π is met, wireless communicationbetween the reader antenna 954 and the tag antenna 972 is performedmainly using direct waves, and radio interference caused by a multipathphenomenon reflecting the ambient environment hardly occurs. It istherefore possible to suppress detection errors. In particular, whenmanaging the presence/absence of articles on a shelf, the shelf is ametal shelf or a cold case made of a metal in many cases. Even undersuch an environment, the system can stably operate.

According to the article presence/absence sensor 230 of this embodiment,the article 961 need not block the path between the RFID tag 914 and theRFID reader 940 to detect the presence/absence of the article 961. Inaddition, it is only necessary to provide a place to arrange the article961 while being spaced part from the tag antenna 972 (or the RFID tag914) so as to form electromagnetic coupling with the tag antenna 972.Hence, the article 961 can freely be arranged.

In addition, according to the article presence/absence sensor 230 ofthis embodiment, the field components of a quasistatic field, inductionfield, and radiation field are mixed at a sufficient strength, and thedirection of a vector variously changes over time. It is thereforepossible to improve the degree of freedom of the relative directions ofthe reader antenna 954 and the tag antenna 972.

<<Hardware Arrangement of Information Processing Apparatus>>

FIG. 10A is a block diagram showing the hardware arrangement of theinformation processing apparatus 210 according to this embodiment.

In FIG. 10A, a CPU (Central Processing Unit) 1010 is a processor forarithmetic control, and implements the functional components of theinformation processing apparatus 210 shown in FIG. 4 by executing aprogram. A ROM (Read Only Memory) 1020 stores initial data, permanentdata of programs and the like, and programs. The communicationcontroller 401 communicates with another communication terminal or eachserver via a network, and also communicates with an image capturer 220 aor the article presence/absence sensor 230.

Note that the number of CPUs 1010 is not limited to one, and the CPU1010 may include a plurality of CPUs or a GPU for image processing. Thecommunication controller 401 preferably includes a CPU independent ofthe CPU 1010 and writes or reads transmission/reception data in or froman area of a RAM (Random Access Memory) 1040. It is preferable toprovide a DMAC (not shown) that transfers data between the RAM 1040 anda storage 1050. Additionally, an input/output interface 1060 preferablyincludes a CPU independent of the CPU 1010 and writes or readsinput/output data in or from an area of the RAM 1040. Hence, the CPU1010 recognizes data reception by or transfer to the RAM 1040 andprocesses data. In addition, the CPU 1010 prepares the processing resultin the RAM 1040 and leaves subsequent transmission or transfer to thecommunication controller 401, the DMAC, or the input/output interface1060.

The RAM 1040 is a random access memory used by the CPU 1010 as a workarea for temporary storage. An area to store data necessary forimplementation of the embodiment is allocated to the RAM 1040. Imagedata 1041 is the data of the front image of the display shelf acquiredfrom the image capturer 220. An article identification result 1042 isarticle information identified from the image data 1041 based on thelocal feature. Article presence/absence data 1043 is the data of articlepresence/absence on the display shelf collected from the articlepresence/absence sensor 230. An article presence/absence processingresult 1044 is article array information generated based on the articlepresence/absence data 1043. A display count calculation result 1045 is aresult obtained by linking the article identification result 1042 withthe article presence/absence processing result 1044 and calculating theshelf allocation of articles and the number of displayed articles.Display-count display data 1046 is display data generated to notify aclerk of the display count calculation result 1045. Input/output data1047 is data input/output via the input/output interface 1060.Transmission/reception data 1048 is data transmitted/received via thecommunication controller 401.

The storage 1050 stores databases, various kinds of parameters, andfollowing data and programs necessary for implementation of theembodiment. The local feature database 403 is a database that stores thedata shown in FIG. 5A. The sensor database 406 is a database that storesthe data shown in FIG. 5B, 8D, or 8E. An article identificationalgorithm/parameter 1051 includes algorithms and parameters used toidentify an article from the front image of the display shelf shown inFIGS. 6A to 6G and 7A to 7F. The inventory management database 409 is adatabase used for inventory management (not shown). The storage 1050stores the following programs. An information processing apparatuscontrol program 1052 is a control program that controls the entireinformation processing apparatus 210. An article identification module1053 is a module configured to identify an article from the front imageof the display shelf. An article array generation module 1054 is amodule configured to generate an article array by referring to thesensor database 406 based on the article presence/absence data. Adisplay count calculation module 1055 is a module configured to linkarticle identification information identified by the articleidentification module 1053 with article array information generated bythe article array generation module 1054 and calculate the shelfallocation of the display shelf and the display count.

The input/output interface 1060 interfaces input/output data from/toinput/output devices. A display unit 214 and an operation unit 1061including a touch panel/keyboard are connected to the input/outputinterface 1060. A speech input/output unit 1062 such as a speaker and amicrophone is also connected. In addition, the image capturer 220 and anarticle presence/absence sensor 230 a are connected. Note that the imagecapturer and the article presence/absence sensor may be connected to aLAN via the communication controller 401 or connected as an I/O via theinput/output interface 1060. In FIG. 10A, the image capturer 220 isconnected to the input/output interface 1060, and the articlepresence/absence sensor 230 is connected to the LAN. Hence, the imagecapturer 220 a and the article presence/absence sensor 230 a areindicated by broken lines.

Note that programs and data associated with general-purpose functionsand other implementable functions of the information processingapparatus 210 are not shown in the RAM 1040 or the storage 1050 of FIG.10A.

(Processing Result Output)

FIG. 10B is a view showing the processing result output of theinformation processing apparatus 210 according to this embodiment.

A management target display shelf 1072 and an article table 1073 aredisplayed in a display screen 1071 of the display unit 214. The shelfallocation of the articles and the display count are displayed on thedisplay shelf 1072. The corresponding colors of article columns, thearticle names, the numbers of faces (numbers of columns of identicalarticles), and the total numbers of displayed articles are displayed inthe article table 1073. Warning marks 1074 that notify a clerk that thetotal number of displayed articles has decreased, and replenishment isnecessary are also displayed.

<<Processing Procedure of Information Processing Apparatus>>

FIG. 11A is a flowchart showing the processing procedure of theinformation processing apparatus 210 according to this embodiment. Thisflowchart is executed by the CPU 1010 shown in FIG. 10A using the RAM1040 and implements the functional components shown in FIG. 4.

In step S1101, the information processing apparatus 210 acquires thecaptured front image of the display shelf from the image capturer 220.In step S1103, the information processing apparatus 210 identifies thearticle array on the front of the display shelf from the acquiredcaptured image.

In step S1105, the information processing apparatus 210 acquires articlepresence/absence detection data from the article presence/absence sensor230 and stores it. In step S1107, the information processing apparatus210 generates the array of article presence/absence sensors from thearticle presence/absence detection data.

In step S1109, the information processing apparatus 210 links thearticle array of the front with the array of article presence/absencesensors, and determines the article arrangement and the display count inthe display shelf. In step S1111, the information processing apparatus210 outputs the article arrangement and the display count in the displayshelf.

(Shelf Surface Article Array Recognition Processing)

FIG. 11B is a flowchart showing the procedure of shelf surface articlearray recognition processing (step S1103) according to this embodiment.

In step S1121, the information processing apparatus 210 acquires thereceived captured image. In step S1123, the information processingapparatus 210 detects a number of feature points from the capturedimage. In step S1125, the information processing apparatus 210 generateslocal features from the coordinate positions, scales, and angles of thefeature points in accordance with the processes shown in FIGS. 7A to 7F.

In step S1127, the information processing apparatus 210 clusters thefeature points based on the coordinate positions of the feature pointsof the captured image in accordance with the processes shown in FIGS. 6Ato 6G. In step S1129, the information processing apparatus 210 collatesthe local feature group of the captured image with the local featuregroups of articles on a cluster basis.

In step S1131, the information processing apparatus 210 determines basedon the collation result whether a matched local feature group exists. Ifa matched local feature group exists, in step S1133, the informationprocessing apparatus 210 specifies the article as an article having thematched local feature group. On the other hand, if no matched localfeature group exists, in step S1135, the information processingapparatus 210 determines that there is no article having the clusteredlocal feature group, and performs error processing. Note that in stepS1135, it may be performed to change the threshold or method ofclustering in accordance with the number of errors.

In step S1137, the information processing apparatus 210 determineswhether a feature point of the captured image remains. If a featurepoint remains, the information processing apparatus 210 returns to stepS1127 to repeat clustering and collation of feature points. If nofeature point remains, in step S1139, the information processingapparatus 210 generates an article type array table (see FIG. 5C) as thearray of specified identified articles on the front of the displayshelf.

(Article Presence/Absence Detection Processing)

FIG. 11C is a flowchart showing the procedure of articlepresence/absence detection processing (step S1107) according to thisembodiment.

In step S1141, the information processing apparatus 210 acquires articlepresence/absence detection data and a tag sheet ID received from theRFID reader 940. In step S1143, the information processing apparatus 210acquires tag sheet array information from the sensor database 406. Instep S1145, the information processing apparatus 210 generates anarticle presence/absence array table (see FIG. 5D) from the tag sheet IDand the article presence/absence detection data.

(Article Arrangement and Display Count Determination Processing)

FIG. 11D is a flowchart showing the procedure of article arrangement anddisplay count determination processing (step S1109) according to thisembodiment.

In step S1151, the information processing apparatus 210 links thearticle type array table (see FIG. 5C) and the article presence/absencearray table (see FIG. 5D) based on the array of tag sheets. In stepS1153, the information processing apparatus 210 determines the shelfallocation and the display count (see FIG. 5E).

According to this embodiment, an enormous number of articles of aplurality of types displayed in the depth direction on the display shelfcan be counted on a type basis at a high speed using an inexpensivearrangement. It is therefore possible to notify article replenishment tothe display shelf in real time.

Third Embodiment

An article management system including an information processingapparatus according to the third embodiment of the present inventionwill be described next. The information processing apparatus accordingto this embodiment is different from the second embodiment in that aunique sheet identification mark (to be abbreviated as a sheet markhereinafter) attached to an article presence/absence sensor group isidentified from a captured image. The rest of the components andoperations is the same as in the second embodiment. Hence, the samereference numerals denote the same components and operations, and adetailed description thereof will be omitted.

According to this embodiment, even when the article presence/absencesensor group on the article display shelf is moved, its position can bespecified. For this reason, even when the article presence/absencesensor group is arbitrarily arranged, article identification based on acaptured image and article presence/absence information from an articlepresence/absence sensor can easily be linked.

<<Article Management System>>

The arrangement and operation of an article management system 1200according to this embodiment will be described with reference to FIGS.12 and 13.

(System Outline)

FIG. 12 is a view showing the outline of the article management system1200 including an information processing apparatus 1210 according tothis embodiment. Note that the same reference numerals as in FIG. 2Adenote the same constituent elements in FIG. 12, and a descriptionthereof will be omitted.

The article management system 1200 includes the information processingapparatus 1210, an image capturer 220 that is a camera, and articlepresence/absence sensors 1230. The image capturer 220 captures theimages of the front lines of display shelves 201 and 202. Note that theimages shot by the image capturer 220 include sheet marks 1231 added tothe tag sheets of the article presence/absence sensors 1230 as well.That is, the article presence/absence sensor 1230 arranged on the bottomof each layer of each of the display shelves 201 and 202 determines thepresence/absence of articles on it, and includes tag sheets each havingthe added sheet mark 1231.

The information processing apparatus 1210 includes an article identifier1211, a display count acquirer 212, and a display recognizer 1213. Thearticle identifier 1211 receives the images of the front lines of thedisplay shelves 201 and 202 from the image capturer 220, identifies thetypes and array of displayed articles, and also identifies the sheetmarks 1231. The display recognizer 1213 links the article arrays of thefront lines of the display shelves 201 and 202 from the articleidentifier 1211 with display count information from the display countacquirer 212 based on the positions of the sheet marks 1231 identifiedby the article identifier 1211, and recognizes the number of displayedarticles on the display shelves 201 and 202.

(Operation Procedure)

FIG. 13 is a sequence chart showing the operation procedure of thearticle management system 1200 including the information processingapparatus 1210 according to this embodiment. Note that the same stepnumbers as in FIG. 3A of the second embodiment denote the same steps inFIG. 13, and a description thereof will be omitted.

In FIG. 13, sheet mark identification of step S1310 is added to FIG. 3A.In step S1310, the information processing apparatus 1210 identifiessheet marks from the front image of a display shelf and uses the sheetmarks to specify article presence/absence sensor positions.

In the second embodiment, tag sheet arrangement information on thedisplay shelf is stored in advance, thereby specifying an articlepresence/absence sensor position and linking it with articleidentification. Hence, if a tag sheet is moved, the arrangementinformation needs to be changed. In this embodiment, the position of atag sheet is specified based on the sheet mark identified from thecaptured image. Hence, even when the tag sheet is moved, the position ofthe tag sheet, that is, the position of each article presence/absencesensor can be specified.

<<Functional Arrangement of Information Processing Apparatus>>

FIG. 14 is a block diagram showing the functional arrangement of theinformation processing apparatus 1210 according to this embodiment. Notethat the same reference numerals as in FIG. 4 denote the same functionalcomponents in FIG. 14, and a description thereof will be omitted.

The article identifier 1211 shown in FIG. 14 not only identifiesarticles in an image but also identifies sheet marks in the image.Hence, a local feature database 1403 stores local features from theimages of the sheet marks in addition to local features generated fromarticle images. Note that each sheet mark preferably includes manyfeature points to facilitate identification of the sheet mark.

An article array generator 1407 generates an article presence/absencearray table representing the article array on the display shelf fromarticle presence/absence information by referring to sheet markinformation from the article identifier 1211 and the arrangementinformation of article presence/absence sensors 1230 in the tag sheetsstored in a sheet management database 1406.

(Local Feature Database)

FIG. 15A is a view showing the arrangement of the local feature database1403 according to this embodiment. Note that the local feature database1403 also includes data of a local feature database 403 shown in FIG. 5Awhich is generated from an article image.

The local feature database 1403 stores a local feature group 1512generated from a sheet mark image in association with a sheet mark ID1511.

(Sheet Management Database)

FIG. 15B is a view showing the arrangement of the sheet managementdatabase 1406 according to this embodiment.

In association with a sheet mark ID 1521, the sheet management database1406 stores a sheet ID 1522 of a tag sheet with the sheet mark, and asheet configuration 1523. Note that the sheet configuration 1523 is datacorresponding to the sheet configuration 527 shown in FIG. 5B.

(Article Type Array Table)

FIG. 15C is a view showing the arrangement of an article type arraytable 1530 according to this embodiment. The article type array table1530 is a table generated by the article identifier 1211 based onarticles and sheet marks identified from the captured image. Note thatthe same reference numerals as in FIG. 5C denote the same items in FIG.15C, and a description thereof will be omitted.

In FIG. 15C, a sheet ID 1537 specified from a sheet mark identified bythe article identifier 1211 is stored in addition to the items shown inFIG. 5C. The article type array table 1530 and an articlepresence/absence array table generated from article presence/absenceinformation from the article presence/absence sensor are linked by thesheet ID 1537 specified from the sheet mark.

Note that an article presence/absence array table, a shelf allocation,and a display count table are the same as in FIGS. 5D and 5E, and anillustration and description thereof will be omitted.

<<Processing Procedure of Information Processing Apparatus>>

FIG. 16A is a flowchart showing the processing procedure of theinformation processing apparatus 1210 according to this embodiment. Thisflowchart is executed by a CPU 1010 shown in FIG. 10A using a RAM 1040and implements the functional components shown in FIG. 14. Note that thesame step numbers as in FIG. 11A denote the same steps in FIG. 16A, anda description thereof will be omitted.

FIG. 16A is different from FIG. 11A in that the information processingapparatus 1210 identifies a sheet mark from a captured image, determinesthe arrangement position of a tag sheet, and generates an articlepresence/absence sensor array in step S1607.

(Sheet Mark Identification Processing)

FIG. 16B is a flowchart showing the procedure of sheet markidentification processing (step S1607) according to this embodiment.Note that the same step numbers as in FIG. 11B denote the same steps inFIG. 16B, and a description thereof will be omitted.

In step S1625, the information processing apparatus 1210 acquires localfeatures generated from the captured image in step S1103. Note that iflocal features of an accuracy different from local features of anarticle are used to collate a sheet mark, local features of the sheetmark may newly be generated instead of using the local featuresgenerated in step S1103.

In step S1629, the information processing apparatus 1210 collates thelocal feature group of the captured image with the local feature groupof the sheet mark on a cluster basis. Note that processing unique tosheet mark identification may be performed in clustering of step S1127and collation of step S1629 as well. If the local feature groups match,in step S1633, the information processing apparatus 1210 specifies thesheet mark. In step S1639, the information processing apparatus 1210generates an array table based on the sheet mark and uses the arraytable to link the article type array table 1530 with the articlepresence/absence array table generated from the article presence/absenceinformation from the article presence/absence sensor.

According to this embodiment, even when the article presence/absencesensor group on the article display shelf is moved, its position can bespecified. For this reason, even when the article presence/absencesensor group is arbitrarily arranged, article identification based on acaptured image and article presence/absence information from an articlepresence/absence sensor can easily be linked.

Fourth Embodiment

An article management system including an information processingapparatus according to the fourth embodiment of the present inventionwill be described next. The information processing apparatus accordingto this embodiment is different from the second embodiment in that aunique shelf identification mark (to be abbreviated as a shelf markhereinafter) attached to an article display shelf is identified from acaptured image. The rest of the components and operations is the same asin the second and third embodiments. Hence, the same reference numeralsdenote the same components and operations, and a detailed descriptionthereof will be omitted.

According to this embodiment, since the position of an article displayshelf can be determined based on a shelf mark, it is possible to easilylink article identification based on a captured image with articlepresence/absence information from an article presence/absence sensor.

<<Article Management System>>

The arrangement and operation of an article management system 1700according to this embodiment will be described with reference to FIGS.17 and 18.

(System Outline)

FIG. 17 is a view showing the outline of the article management system1700 including an information processing apparatus 1710 according tothis embodiment. Note that the same reference numerals as in FIG. 2Adenote the same constituent elements in FIG. 17, and a descriptionthereof will be omitted.

The article management system 1700 includes the information processingapparatus 1710, an image capturer 220 that is a camera, and articlepresence/absence sensors 230. The image capturer 220 captures the imagesof the front lines of display shelves 1720 and 1730. Note that theimages shot by the image capturer 220 include shelf marks 1721 to 1723,. . . 1731 to 1733 added to the display shelves of the display shelves1720 and 1730 as well. That is, the shelf marks 1721 to 1723, . . . 1731to 1733 are added to the display shelves of the display shelves 1720 and1730.

The information processing apparatus 1710 includes an article identifier1711, a display count acquirer 212, and a display recognizer 1713. Thearticle identifier 1711 receives the images of the front lines of thedisplay shelves 1720 and 1730 from the image capturer 220, identifiesthe types and array of displayed articles, and also identifies the shelfmarks 1721 to 1723, . . . 1731 to 1733. The display recognizer 1713links the article arrays of the front lines of the display shelves 1720and 1730 from the article identifier 1711 with display count informationfrom the display count acquirer 212 based on the positions of the shelfmarks 1721 to 1723, . . . 1731 to 1733 identified by the articleidentifier 1711, and recognizes the number of displayed articles on thedisplay shelves 1720 and 1730.

Note that the number of shelf marks are not limited to the example shownin FIG. 17. The number of shelf marks is selected in correspondence withthe field of view of the image capturer 220.

(Operation Procedure)

FIG. 18 is a sequence chart showing the operation procedure of thearticle management system 1700 including the information processingapparatus 1710 according to this embodiment. Note that the same stepnumbers as in FIG. 3A of the second embodiment denote the same steps inFIG. 18, and a description thereof will be omitted.

In FIG. 18, shelf mark identification of step S1810 is added to FIG.3AA. In step S1810, the information processing apparatus 1710 identifiesshelf marks from the front image of a display shelf and links an imageposition from the image capturer 220 with an article presence/absencesensor position.

In the second and third embodiments, the position of an image shot bythe image capturer 220 is fixed, and the same position of the imagecorresponds to the same position of the display shelf. In thisembodiment, the position of an image shot by the image capturer 220 islinked with the same position of the display shelf by the shelf markidentified from the captured image. This makes it possible to link eacharticle identification position with the position of each articlepresence/absence sensor even when the image capturer 220 pans.

<<Functional Arrangement of Information Processing Apparatus>>

FIG. 19 is a block diagram showing the functional arrangement of theinformation processing apparatus 1710 according to this embodiment. Notethat the same reference numerals as in FIG. 4 denote the same functionalcomponents in FIG. 19, and a description thereof will be omitted.

The article identifier 1711 shown in FIG. 19 not only identifiesarticles in an image but also identifies shelf marks in the image.Hence, a local feature database 1903 stores local features from theimages of the shelf marks in addition to local features generated fromarticle images. Note that each shelf mark preferably includes manyfeature points to facilitate identification of the shelf mark.

An article array generator 1907 generates an article presence/absencearray table representing the article array on the display shelf fromarticle presence/absence information by referring to shelf markinformation from the article identifier 1711 and the arrangementinformation of the article presence/absence sensors 230 in the displayshelf stored in a shelf management database 1906.

(Local Feature Database)

FIG. 20A is a view showing the arrangement of the local feature database1903 according to this embodiment. Note that the local feature database1903 also includes data of a local feature database 403 shown in FIG. 5Awhich is generated from an article image.

The local feature database 1903 stores a local feature group 2012generated from a shelf mark image in association with a shelf mark ID2011.

(Shelf Management Database)

FIG. 20B is a view showing the arrangement of the shelf managementdatabase 1906 according to this embodiment.

In association with a shelf mark ID 2021, the shelf management database1906 stores a shelf ID 2022 of a shelf with the shelf mark, a shelfconfiguration 2023 representing the number of layers and the number ofcolumns of the shelf, and shelf allocation data 2024. Note that theshelf configuration 2023 and the shelf allocation data 2024 are datacorresponding to a sensor database 406 a shown in FIG. 5B.

(Article Type Array Table)

FIG. 20C is a view showing the arrangement of an article type arraytable 2030 according to this embodiment. The article type array table2030 is a table generated by the article identifier 1711 based onarticles and shelf marks identified from the captured image. Note thatthe same reference numerals as in FIG. 5C denote the same items in FIG.20C, and a description thereof will be omitted.

In FIG. 20C, a column 2037 of the shelf specified by referring to theshelf mark identified by the article identifier 1711 and the shelfmanagement database 1906 and a sheet ID 2038 are stored in addition tothe items shown in FIG. 5C. The article type array table 2030 and anarticle presence/absence array table generated from articlepresence/absence information from the article presence/absence sensorare linked by the column 2037 of the shelf identified from the shelfmark and the sheet ID 2038.

Note that an article presence/absence array table, a shelf allocation,and a display count table are the same as in FIGS. 5D and 5E, and anillustration and description thereof will be omitted.

<<Processing Procedure of Information Processing Apparatus>>

FIG. 21A is a flowchart showing the processing procedure of theinformation processing apparatus 1710 according to this embodiment. Thisflowchart is executed by a CPU 1010 shown in FIG. 10A using a RAM 1040and implements the functional components shown in FIG. 17. Note that thesame step numbers as in FIG. 11A denote the same steps in FIG. 21A, anda description thereof will be omitted.

FIG. 21A is different from FIG. 11A in that the information processingapparatus 1710 identifies a shelf mark from a captured image, links theposition of the captured image with the arrangement position of a tagsheet, and generates an article presence/absence sensor array in stepS2107.

(Shelf Mark Identification Processing)

FIG. 21B is a flowchart showing the procedure of shelf markidentification processing (step S2107) according to this embodiment.Note that the same step numbers as in FIG. 11B or 16B denote the samesteps in FIG. 21B, and a description thereof will be omitted.

In step S1625, the information processing apparatus 1710 acquires localfeatures generated from the captured image in step S1103. Note that iflocal features of an accuracy different from that of an article or asheet mark are used to collate a shelf mark, local features may newly begenerated instead of using the local features generated in step S1103.

In step S2129, the information processing apparatus 1710 collates thelocal feature group of the captured image with the local feature groupof the shelf mark on a cluster basis. Note that processing unique toshelf mark identification may be performed in clustering of step S1127and collation of step S2129 as well. If the local feature groups match,in step S2133, the information processing apparatus 1710 specifies theshelf mark. In step S2139, the information processing apparatus 1710generates an array table based on the shelf mark and uses the arraytable to link the article type array table 2030 with the articlepresence/absence array table generated from the article presence/absenceinformation from the article presence/absence sensor.

According to this embodiment, since the position of an article displayshelf can be determined based on a shelf mark, it is possible to easilylink article identification based on a captured image with articlepresence/absence information from an article presence/absence sensor.

Fifth Embodiment

An article management system including an information processingapparatus according to the fifth embodiment of the present inventionwill be described next. The information processing apparatus accordingto this embodiment is different from the second embodiment in that anarticle array unique to an article display shelf is identified from acaptured image. The rest of the components and operations is the same asin the second to fourth embodiments. Hence, the same reference numeralsdenote the same components and operations, and a detailed descriptionthereof will be omitted.

According to this embodiment, since the position of an article displayshelf can be determined based on a unique article array, it is possibleto easily link article identification based on a captured image witharticle presence/absence information from an article presence/absencesensor without adding a sheet mark or shelf mark to the display shelf.

<<Article Management System>>

The arrangement and operation of an article management system 2200according to this embodiment will be described with reference to FIGS.22 and 23.

(System Outline)

FIG. 22 is a view showing the outline of the article management system2200 including an information processing apparatus 2210 according tothis embodiment. Note that the same reference numerals as in FIG. 2Adenote the same constituent elements in FIG. 22, and a descriptionthereof will be omitted.

The article management system 2200 includes the information processingapparatus 2210, an image capturer 220 that is a camera, and articlepresence/absence sensors 230. The image capturer 220 captures the imagesof the front lines of display shelves 201 and 202. Note that the articlearray at a specific position, that is, on the top layer of each of thedisplay shelves of the display shelves 201 and 202 in FIG. 22 has anarray unique to the display shelf. Note that FIG. 22 shows an example inwhich the array of tall bottles (represented by a bit “1”) and shortbottles (represented by a bit “0”) on the top layer of the display shelf201 is assumed to be unique to the display shelf for the sake ofsimplicity. However, a display shelf can be specified by employing aunique array based on the identification result of each article andassuming a very small number of article columns to be unique to eachdisplay shelf. A shelf and its capturing position can thus be specifiedwithout any shelf mark as in the fourth embodiment.

The information processing apparatus 2210 includes an article identifier211, a display count acquirer 212, and a display recognizer 2213. Thearticle identifier 211 receives the images of the front lines of thedisplay shelves 201 and 202 from the image capturer 220, and identifiesthe types of displayed articles. The display recognizer 2213 links thearticle arrays of the front lines of the display shelves 201 and 202from the article identifier 211 with article presence/absenceinformation from the display count acquirer 212 based on the positionsof the shelves identified from the article array unique to the displayshelves, and recognizes the number of displayed articles on the displayshelves 201 and 202.

Note that the interval of the unique article array is not limited to theexample shown in FIG. 22. The interval is selected in correspondencewith the field of view of the image capturer 220.

(Operation Procedure)

FIG. 23 is a sequence chart showing the operation procedure of thearticle management system 2200 including the information processingapparatus 2210 according to this embodiment. Note that the same stepnumbers as in FIG. 3A of the second embodiment denote the same steps inFIG. 23, and a description thereof will be omitted.

In FIG. 23, identification of an article array unique to a display shelfin step S2310 is added to FIG. 3A. In step S2310, the informationprocessing apparatus 2210 identifies the article array unique to adisplay shelf from the front image of the display shelf and links animage position from the image capturer 220 with an articlepresence/absence sensor position.

In the fourth embodiment, a shelf mark is added to cope with linkingeach article identification position with the position of each articlepresence/absence sensor. In this embodiment, the position of an imageshot by the image capturer 220 is linked with the same position of thedisplay shelf by the article array unique to the display shelfidentified from the captured image. This makes it possible to link eacharticle identification position with the position of each articlepresence/absence sensor even when the image capturer 220 pans.

<<Functional Arrangement of Information Processing Apparatus>>

FIG. 24 is a block diagram showing the functional arrangement of theinformation processing apparatus 2210 according to this embodiment. Notethat the same reference numerals as in FIG. 4 denote the same functionalcomponents in FIG. 24, and a description thereof will be omitted.

An article array generator 2407 shown in FIG. 24 generates an articlepresence/absence array table representing the article array on thedisplay shelf from article presence/absence information by referring toarticle recognition information from the article identifier 211 andunique article column information in the display shelf stored in anarticle column management database 2406 serving as an article arraystorage. Note that the unique article column in the display shelf ispreferably capable of reliably identifying the unique article array toraise the identification accuracy. For example, an array of articleshaving a characteristic color or shape is preferable.

(Article Column Management Database)

FIG. 25 is a view showing the arrangement of the article columnmanagement database 2406 according to this embodiment.

The article column management database 2406 stores a shelf ID 2512, ashelf position 2513 including a layer and a column, a shelfconfiguration 2514 representing the number of layers and the number ofcolumns, and shelf allocation data 2515 in association with an articlecolumn ID 2511. Note that the shelf configuration 2514 and the shelfallocation data 2515 are data corresponding to a sensor database 406 ashown in FIG. 5B.

<<Processing Procedure of Information Processing Apparatus>>

FIG. 26A is a flowchart showing the processing procedure of theinformation processing apparatus 2210 according to this embodiment. Thisflowchart is executed by a CPU 1010 shown in FIG. 10A using a RAM 1040and implements the functional components shown in FIG. 24. Note that thesame step numbers as in FIG. 11A denote the same steps in FIG. 26A, anda description thereof will be omitted.

FIG. 26A is different from FIG. 11A in that the information processingapparatus 2210 identifies a shelf from an article column unique to thedisplay shelf, links the position of the captured image with thearrangement position of a tag sheet, and generates an articlepresence/absence sensor array in step S2606.

(Article Column Identification Processing)

FIG. 26B is a flowchart showing the procedure of article columnidentification processing (step S2606) according to this embodiment.

In step S2621, the information processing apparatus 2210 collates theshot article array with the article array stored in the article columnmanagement database 2406. In step S2623, the information processingapparatus 2210 determines whether a matched article array exists. If amatched article array exists, the information processing apparatus 2210specifies a display shelf having the matched article array in stepS2625. On the other hand, if no matched article array exists, in stepS2627, the information processing apparatus 2210 determines that thedisplay shelf is not found, and performs error processing. Note that instep S2627, it may be performed to change the article identificationaccuracy or the capturing position/range in accordance with the numberof errors.

According to this embodiment, since the position of an article displayshelf can be determined based on a unique article array, it is possibleto easily link article identification based on a captured image witharticle presence/absence information from an article presence/absencesensor without adding a sheet mark or shelf mark to the display shelf.

Sixth Embodiment

An article management system including an information processingapparatus according to the sixth embodiment of the present inventionwill be described next. The information processing apparatus accordingto this embodiment is different from the second to fifth embodiments inthat a change in the article arrangement or an unauthorized arrangementcaused by an arrangement error is determined based on article arrayinformation obtained from a captured image and article presence/absenceinformation obtained from an article presence/absence sensor. The restof the components and operations is the same as in the second to fifthembodiments. Hence, the same reference numerals denote the samecomponents and operations, and a detailed description thereof will beomitted.

According to this embodiment, since a change in the article arrangementor an arrangement error can be notified in addition to articlereplenishment, it is possible to give a sophisticated assistance toarticle management in a display shelf.

<<Article Management System>>

FIG. 27A is a view showing an outline of an article management system2700 including an information processing apparatus according to thisembodiment.

The article management system 2700 according to this embodiment detectsvarious errors in article arrangement position such as a case where asmall bottle 2712 exists at the position of a large bottle 2711 or acase where a small bottle 2722 exists at the position of a large bottle2721, as shown in FIG. 27A. Alternatively, the article management system2700 discriminates a change in an article array from an arrangementerror.

FIG. 27B is a view showing another outline of the article managementsystem 2700 including the information processing apparatus according tothis embodiment.

In the article management system 2700 according to this embodiment, anarticle presence/absence sensor detects article presence in a case wherea large bottle 2731 has fallen or in a case where a small bottle 2733has fallen, as shown in FIG. 27B. However, when the front image isidentified, it is found that an article has fallen to cover a pluralityof article presence determination ranges.

Note that FIGS. 27A and 27B show examples in which the articlesobviously have a wrong arrangement. In this case, the arrangement errorcan easily be known from article presence/absence data and articleidentification data. In some cases, however, the arrangement errorcannot easily be known by simple comparison (see FIG. 29).

<<Functional Arrangement of Information Processing Apparatus>>

FIG. 28 is a block diagram showing the functional arrangement of aninformation processing apparatus 2810 according to this embodiment. Notethat the same reference numerals as in FIG. 4 denote the same functionalcomponents in FIG. 28, and a description thereof will be omitted.

An article array history database 2814 shown in FIG. 28 accumulates thehistory of an article array identified by an article identifier 211 andan article array detected by an article presence/absence sensor. Anarticle array monitor 2815 compares the article array identified by thearticle identifier 211 with the article array detected by the articlepresence/absence sensor, and if the article arrays do not match,acquires past article array information from the article array historydatabase 2814 and determines whether the article array has been changed,or a temporary article array error has occurred. If an article arrayerror has occurred, the display unit displays this to make a warning.

(Article Display Determination Processing)

FIG. 29 is a view for explaining article display determinationprocessing according to this embodiment. FIG. 29 shows an example todetermine whether an article array has been changed, or a temporaryarticle array error has occurred. However, the determination algorithmis not limited to this.

In an article array 2901, the article presence/absence sensor of thedisplay shelf detects that a total of 32 articles are displayed on eightcolumns (numbers of articles on the columns: 4, 4, 3, 4, 5, 4, 4, 4).The articles on the columns are (large bottle A, large bottle A, largebottle B, large bottle B, small bottle c, small bottle c, small bottled, small bottle d) according to article identification from the frontimage.

In an article array 2902 determined next, the article presence/absencesensor of the display shelf detects that a total of 32 articles arestill displayed on eight columns (numbers of articles on the columns: 4,4, 3, 4, 5, 4, 4, 4). However, the articles on the columns are (largebottle A, large bottle A, large bottle B, large bottle B, small bottlec, small bottle d, small bottle c, small bottle d) according to articleidentification from the front image. The articles of the sixth andseventh columns from left have changed to small bottles d and c,respectively. At this stage, it can also be determined that thearrangement of the articles of the sixth and seventh columns has beenchanged.

In an article array 2903 determined next, the article presence/absencesensor of the display shelf detects that a total of 28 articles aredisplayed on eight columns (numbers of articles on the columns: 4, 4, 3,4, 3, 3, 3, 4). At this time, the articles on the columns are (largebottle A, large bottle A, large bottle B, large bottle B, small bottlec, small bottle c, small bottle d, small bottle d) according to articleidentification from the front image. The articles of the sixth andseventh columns from left have returned to small bottles c and d,respectively. In this case, by referring to the article arrays 2901 and2902, it can be determined that the bottles of the sixth and seventhcolumns from left on the front line of the article array 2902 werearrangement errors.

Note that the example of FIG. 29 is merely an example, and a change inthe arrangement or an arrangement error can be determined by trackingthe history of article array based on the history of data from thearticle presence/absence sensor and the article array identified fromthe front image.

<<Processing Procedure of Information Processing Apparatus>>

FIG. 30A is a flowchart showing the processing procedure of theinformation processing apparatus according to this embodiment. Thisflowchart is executed by a CPU 1010 shown in FIG. 10A using a RAM 1040and implements the functional components shown in FIG. 28. Note that thesame step numbers as in FIG. 11A denote the same steps in FIG. 30A, anda description thereof will be omitted.

FIG. 30A is different from FIG. 11A in that the information processingapparatus 2810 performs arrangement determination processing based onarticle presence/absence data from the article presence/absence sensorand the article array identified from the front image in step S3008.

(Arrangement Determination Processing)

FIG. 30B is a flowchart showing the procedure of arrangementdetermination processing (step S3008) according to this embodiment.

In step S3021, the information processing apparatus 2810 acquires thehistory of article presence/absence data and article array data from thearticle array history database 2814. In step S3023, the informationprocessing apparatus 2810 determines the current article array based onthe acquired history.

FIG. 30B shows three determination results. If neither the articlepresence/absence data nor the article array data changes, theinformation processing apparatus 2810 determines in step S3025 that nochange in the article array exists. If both the article presence/absencedata and the article array data change, and the changes do not conflictwith each other, the information processing apparatus 2810 determines instep S3027 that a change in the article arrangement has occurred. Ifthere is a discrepancy between the change in the articlepresence/absence data and that in the article array data, as in FIG. 29,the information processing apparatus 2810 determines in step S3029 thatan article arrangement error has occurred.

Note that the change in the article arrangement and the arrangementerror are not limited to those of the example. Other examples can bealso found by comparing article identification information from a frontimage and article presence/absence information from the articlepresence/absence sensor according to this embodiment or tracking thehistory.

According to this embodiment, since a change in the article arrangementor an arrangement error can be notified in addition to articlereplenishment, it is possible to give a sophisticated assistance toarticle management in a display shelf.

Seventh Embodiment

An article management system including an information processingapparatus according to the seventh embodiment of the present inventionwill be described next. The information processing apparatus accordingto this embodiment is different from the second to sixth embodiments inthat identification accuracy and detection accuracy are mutuallyimproved based on article array information obtained from a capturedimage and article presence/absence information obtained from an articlepresence/absence sensor. The rest of the components and operations isthe same as in the second to fifth embodiments. Hence, the samereference numerals denote the same components and operations, and adetailed description thereof will be omitted.

According to this embodiment, identification accuracy and detectionaccuracy can be improved mutually, and the article arrangement on adisplay shelf can reliably be grasped.

<<Article Management System>>

FIG. 31 is a view showing an outline of an article management system3100 including an information processing apparatus according to thisembodiment. FIG. 31 shows an adjustment example 3110 to improve theaccuracy of article identification from an image and an adjustmentexample 3120 to improve the presence/absence determination accuracy ofan article presence/absence sensor.

In the adjustment example 3110, a detection result 3111 of a displayshelf front line by the article presence/absence sensor indicates thatarticles are present on all columns. On the other hand, in an articleidentification result 3112 obtained from the front image, the article ofthe seventh column from left cannot be identified. In this case, it isdetermined that an image identification error 3113 has occurred, andadjustment 3114 is performed to improve the article identificationaccuracy from the image. The adjustment 3114 includes adjusting theparameters, thresholds, and the like of feature point detection, localfeature generation, feature point clustering, and local featurecollation in the process of article identification.

In the adjustment example 3120, in an article identification result 3122obtained from the front image, articles on all columns are identified.On the other hand, a detection result 3121 of a display shelf front lineby the article presence/absence sensor indicates that no article ispresent on the second column. In this case, it is determined that adetection error 3123 of the article presence/absence sensor hasoccurred, and adjustment 3124 is performed to improve the articlepresence/absence detection accuracy. The adjustment 3124 includesadjusting a threshold used to determine the strength of a responsesignal in an RFID reader, adjusting the transmission strength of commandtransmission from the RFID reader, and the like. Note that since thearticle identification result sometimes includes not only theidentification result of the display shelf front line but also theidentification result of articles behind, the detection error of thearticle presence/absence sensor may be determined based on the detectionresults of all lines including not only the front line but also secondand subsequent lines of the display shelf.

<<Functional Arrangement of Information Processing Apparatus>>

FIG. 32 is a block diagram showing the functional arrangement of aninformation processing apparatus 3210 according to this embodiment. Notethat the same reference numerals as in FIG. 4 denote the same functionalcomponents in FIG. 32, and a description thereof will be omitted.

An error history database 3216 shown in FIG. 32 accumulates the historyof an error in collation between an article array identified by anarticle identifier 211 and an article array detected by the articlepresence/absence sensor. An article identification/articlepresence/absence collator 3217 collates the article array identified bythe article identifier 211 with the article array detected by thearticle presence/absence sensor, and if they do not match, determines anerror. The article identification/article presence/absence collator 3217then accumulates the error history in the error history database 3216,and performs parameter adjustment in the article identifier 211 orparameter adjustment in an article array generator 407. The articleidentification/article presence/absence collator 3217 also notifies animage capturer/article presence/absence sensor adjuster 3218 of theerror occurrence as well as information representing which one of theimage capturer and the article presence/absence sensor needs to beadjusted. The image capturer/article presence/absence sensor adjuster3218 transmits data to adjust the image capturer and/or the articlepresence/absence sensor.

<<Processing Procedure of Information Processing Apparatus>>

FIG. 33A is a flowchart showing the processing procedure of theinformation processing apparatus 3210 according to this embodiment. Thisflowchart is executed by a CPU 1010 shown in FIG. 10A using a RAM 1040and implements the functional components shown in FIG. 32. Note that thesame step numbers as in FIG. 11A denote the same steps in FIG. 33A, anda description thereof will be omitted.

FIG. 33A is different from FIG. 11A in that the information processingapparatus 3210 performs adjustment processing of articlepresence/absence detection and/or article identification based onarticle presence/absence data from the article presence/absence sensorand the article array identified from the front image in step S3308.

(Article Presence/Absence Detection and Article IdentificationAdjustment Processing)

FIG. 33B is a flowchart showing the procedure of articlepresence/absence detection and article identification adjustmentprocessing (S3308) according to the seventh embodiment of the presentinvention.

In step S3321, the information processing apparatus 3210 collates anarticle presence/absence result with an article identification result.In step S3323, the information processing apparatus 3210 branches basedon the collation result. Upon determining based on the collation resultthat no error exists, the processing ends.

If an error has occurred in article identification from the image, instep S3325, the information processing apparatus 3210 performsadjustment associated with identification processing such as adjustmentof the threshold of local feature generation. In step S3327, theinformation processing apparatus 3210 determines whether the error hasbeen recovered. If the error has been recovered, the processing ends.Note that although the identification processing adjustment of stepS3325 and the determination of step S3327 are repeated, this is notillustrated in FIG. 33B to avoid complexity.

If the error is not recovered, the information processing apparatus 3210adjusts the image capturer in step S3329. In step S3331, the informationprocessing apparatus 3210 determines whether the error has beenrecovered. If the error has been recovered, the processing ends. Notethat although the image capturer adjustment of step S3329 and thedetermination of step S3331 are repeated, this is not illustrated inFIG. 33B to avoid complexity. If the error is not recovered, the articleidentification system is notified of the presence of the error.

Upon determining in step S3323 that an article presence/absencedetection error has occurred, in step S3335, the information processingapparatus 3210 performs adjustment of the threshold of articlepresence/absence detection of the RFID reader and the like. In stepS3337, the information processing apparatus 3210 determines whether theerror has been recovered. If the error has been recovered, theprocessing ends. Note that although the article presence/absence sensoradjustment of step S3335 and the determination of step S3337 arerepeated, this is not illustrated in FIG. 33B to avoid complexity. Ifthe error is not recovered, the article presence/absence detectionsystem is notified of the presence of the error.

Note that the error detection method or adjustment method for both thearticle identification system and the article presence/absence detectionsystem are not limited to those of this embodiment. Any other errordetection method or adjustment method unique to the embodiment in whicharticle display management is done by linking the article identificationsystem with the article presence/absence detection system is possible.

According to this embodiment, identification accuracy and detectionaccuracy can be improved mutually, and the article arrangement on adisplay shelf can reliably be grasped.

Eighth Embodiment

An article management system including an information processingapparatus according to the eighth embodiment of the present inventionwill be described next. The information processing apparatus accordingto this embodiment is different from the second to seventh embodimentsin that a capturing position is specified by collating a front linearticle presence/absence pattern obtained from an articlepresence/absence sensor with an article presence/absence patternobtained by article identification from a captured image. The rest ofthe components and operations is the same as in the second to seventhembodiments. Hence, the same reference numerals denote the samecomponents and operations, and a detailed description thereof will beomitted.

According to this embodiment, since the capturing position of an articledisplay shelf can be determined without any special operation ofspecifying the display shelf as in the third or fourth embodiment, it ispossible to easily link article identification based on a captured imagewith article presence/absence information from an articlepresence/absence sensor.

<<Article Management System>>

The arrangement and operation of an article management system 3400according to this embodiment will be described with reference to FIGS.34 and 35.

(System Outline)

FIG. 34 is a view showing the outline of an article management system3400 including an information processing apparatus 3410 according tothis embodiment. Note that the same reference numerals as in FIG. 2Adenote the same constituent elements in FIG. 34, and a descriptionthereof will be omitted.

The article management system 3400 includes the information processingapparatus 3410, an image capturer 220 that is a camera, and articlepresence/absence sensors 230. The image capturer 220 captures the imagesof the front lines of display shelves 201 and 202. Note that FIG. 34shows an example of an array of bottle presence (represented by a bit“1”) and bottle absence (represented by a bit “0”) on the top layer ofthe display shelf 201 for the sake of simplicity. The shelf and itscapturing position can thus be specified without storing a shelf mark asin the fourth embodiment or an article array unique to a shelf as in thefifth embodiment.

The information processing apparatus 3410 includes an article identifier211, a display count acquirer 212, and a display recognizer 3413. Thedisplay recognizer 3413 collates the article presence/absence patternsof the front lines of the display shelves 201 and 202 from the articleidentifier 211 with the front line article presence/absence pattern byarticle presence/absence information from the display count acquirer212. This collation is performed not only for the same positionincluding article presence/absence but by changing the image acquisitionposition in the horizontal and vertical directions. If a matchingarticle presence/absence pattern is found, the position shot in thedisplay shelf can be known. Hence, since the article presence/absencepattern obtained by article identification from the image can be linkedwith the article presence/absence pattern from the articlepresence/absence sensor, the numbers of articles displayed in thedisplay shelves 201 and 202 are recognized.

(Operation Procedure)

FIG. 35 is a sequence chart showing the operation procedure of thearticle management system 3400 including the information processingapparatus 3410 according to this embodiment. Note that the same stepnumbers as in FIG. 3A of the second embodiment denote the same steps inFIG. 35, and a description thereof will be omitted.

In FIG. 35, collation of the article presence/absence patterns of anarticle identification result and an article presence/absence result instep S3510 is added to FIG. 3A. In step S3510, the informationprocessing apparatus 3410 collates an article presence/absence patternobtained by identification from a front image of a display shelf withthe article presence/absence pattern of the display shelf front imageobtained from the article presence/absence sensor, and links the imageposition from the image capturer 220 with the article presence/absencesensor position.

In the fourth embodiment, a shelf mark is added to cope with linkingeach article identification position with the position of each articlepresence/absence sensor. In the fifth embodiment, the position of animage shot by the image capturer 220 is linked with the same position ofthe display shelf by an article array unique to the display shelfidentified from the captured image, thereby linking each articleidentification position with the position of each articlepresence/absence sensor. In this embodiment, the shelf and its capturingposition can be specified, and each article identification position canbe linked with the position of each article presence/absence sensorwithout preparing a shelf mark or an article array unique to the displayshelf.

<<Functional Arrangement of Information Processing Apparatus>>

FIG. 36 is a block diagram showing the functional arrangement of theinformation processing apparatus 3410 according to this embodiment. Notethat the same reference numerals as in FIG. 4 denote the same functionalcomponents in FIG. 36, and a description thereof will be omitted.

An article presence/absence column collator 3619 shown in FIG. 36collates an article presence/absence pattern generated by articlerecognition information from the article identifier 211 with an articlepresence/absence pattern generated from article presence/absenceinformation received by an article presence/absence information receiver405, thereby specifying a shelf of a matching article presence/absencepattern and its capturing position.

(Article Column Presence/Absence Column Collation)

FIG. 37 is a view for explaining article column presence/absence columncollation according to this embodiment.

The upper line of FIG. 37 shows an article array pattern 3710 of thefront lines of two display shelves, which is generated from detectiondata of the article presence/absence sensor. Here, “” indicates articlepresence on the front line, and “◯” indicates article absence on thefront line. The first article array pattern includes a display shelf ID3711, a layer 3712, and an article array pattern 3713. The secondarticle array pattern includes a display shelf ID 3715, a layer 3716,and an article array pattern 3717.

The lower line of FIG. 37 shows an article presence/absence pattern 3721generated from articles identified from the image. Here, the articlearray pattern 3713 and the article array pattern 3717 are operated usingthe article presence/absence pattern 3721. In this example, a patternthat matches the article presence/absence pattern 3721 appears from thesecond column from left of the article array pattern 3717 (in the brokenlien frame). As a result, it is found that the article presence/absencepattern 3721 generated from the articles identified from the image isobtained by capturing the right display shelf from the second columnfrom left 3722, and the identified article array and the articlepresence/absence array can be linked. Note that although a patternincluding a plurality of layers has been exampled with reference to FIG.36, an article presence/absence pattern including one layer is alsopossible.

<<Processing Procedure of Information Processing Apparatus>>

FIG. 38A is a flowchart showing the processing procedure of theinformation processing apparatus 3410 according to this embodiment. Thisflowchart is executed by a CPU 1010 shown in FIG. 10A using a RAM 1040and implements the functional components shown in FIG. 36. Note that thesame step numbers as in FIG. 11A denote the same steps in FIG. 38A, anda description thereof will be omitted.

FIG. 38A is different from FIG. 11A in that the information processingapparatus 3410 collates the presence/absence pattern of an articleidentification result with the presence/absence pattern of an articlepresence/absence result, and specifies a shelf and a captured positionof the shelf in step S3806.

(Article Column Identification Processing)

FIG. 38B is a flowchart showing the procedure of article columnidentification processing (step S3806) according to this embodiment.

In step S3821, the information processing apparatus 3410 collates thearticle presence/absence pattern from the captured front image with thearticle presence/absence pattern from the article presence/absencesensor while scanning the patterns. In step S3823, the informationprocessing apparatus 3410 determines whether a matched article arraypattern exists. If a matched article array pattern exists, theinformation processing apparatus 3410 specifies a display shelf and acaptured position of the shelf having the matched article array patternin step S3825. On the other hand, if no matching article array patternexists, in step S3827, the information processing apparatus 3410determines that the display shelf or capturing position is not found,and performs error processing. Note that in step S3827, it may beperformed to change the article identification accuracy or the capturingposition/range in accordance with the number of errors.

According to this embodiment, since the capturing position of an articledisplay shelf can be determined without any special operation ofspecifying the display shelf as in the third or fourth embodiment, it ispossible to easily link article identification based on a captured imagewith article presence/absence information from an articlepresence/absence sensor.

Other Embodiments

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The arrangement anddetails of the present invention can variously be modified withoutdeparting from the spirit and scope thereof, as will be understood bythose skilled in the art. The present invention also incorporates asystem or apparatus that combines different features included in theembodiments in any form.

The present invention is applicable to a system including a plurality ofdevices or a single apparatus. The present invention is also applicableeven when an information processing program for implementing thefunctions of the embodiments is supplied to the system or apparatusdirectly or from a remote site. Hence, the present invention alsoincorporates the program installed in a computer to implement thefunctions of the present invention by the computer, a medium storing theprogram, and a WWW (World Wide Web) server that causes a user todownload the program. In particular, the present invention incorporatesat least a non-transitory computer readable medium.

This application claims the benefit of Japanese Patent Application No.2013-042442, filed on Mar. 4, 2013, which is hereby incorporated byreference in its entirety.

1. An information processing apparatus comprising: a memory storinginstructions; and at least one processor configured to process theinstructions to: acquire display count information of articles usingarticle presence/absence sensors provided on a display shelf on whichthe articles are placed; acquire article identification informationcapable of identifying types of articles based on an image acquired bycapturing the display shelf; and recognize, based on the display countinformation and the article identification information, display count ofeach type of the articles.
 2. The information processing apparatusaccording to claim 1, wherein the at least one processor is furtherconfigured to process the instructions to: acquire the display countinformation of articles included in an article column on the displayshelf, in which articles of the same type are arranged from a near sideto a far side, and identify the type of an article in a front of thearticle column based on the image obtained by capturing a front of thedisplay shelf.
 3. The information processing apparatus according toclaim 1, wherein each of the article presence/absence sensors comprises:RFID tags, each having an identifier, which are placed at displaypositions of articles; a response receiver that has an antenna forgenerating, in a region including the RFID tags, an electromagneticfield a strength of which is changed by presence of article, andreceives response signals from the RFID tags; and a memory storinginstructions; and at least one processor configured to process theinstructions to: determine presence/absence of articles based onstrengths of the response signals from the RFID tags.
 4. The informationprocessing apparatus according to claim 1, wherein the at least oneprocessor is further configured to process the instructions to: generatelocal features of a plurality of feature points from the image acquiredby capturing the display shelf; cluster the plurality of feature pointsbased on coordinates of the plurality of feature points; and collate thelocal features of the clustered feature points with a local featuregenerated based on an image of an article.
 5. The information processingapparatus according to claim 1, wherein the at least one processor isfurther configured to process the instructions to: store an arrangementof a detection sensor group corresponding to a shelf allocation of thedisplay shelf, and link the display count information and the articleidentification information by referring to the arrangement of thedetection sensor group.
 6. The information processing apparatusaccording to claim 1, wherein a sheet identification mark unique to eacharticle presence/absence sensor group is attached to each of the articlepresence/absence sensors on the front of the display shelf, and whereinthe at least one processor is further configured to process theinstructions to: acquire the display count information of each articlecolumn from a plurality of article presence/absence sensors togetherwith information of the sheet identification mark, identify the sheetidentification mark included in the captured image and acquire theinformation of the sheet identification mark, and link the display countinformation and the article identification information using theinformation of the sheet identification mark.
 7. The informationprocessing apparatus according to claim 1, wherein a plurality ofdisplay shelves exist, and a unique shelf identification mark isattached to the front of each display shelf, and wherein the at leastone processor is further configured to process the instructions to:recognize the shelf identification mark, and link the display countinformation and the article identification information using the shelfidentification mark.
 8. The information processing apparatus accordingto claim 1, wherein a plurality of display shelves exist, and whereinthe at least one processor is further configured to process theinstructions to: store an array of the plurality of articles in at leastpart of the display shelf, specify the display shelf based on the arrayof the articles, and link the display count information and the articleidentification information in the specified display shelf.
 9. Theinformation processing apparatus according to claim 1, wherein the atleast one processor is further configured to process the instructionsto: collate an article presence/absence pattern identified based on acaptured image and an article presence/absence pattern acquired from thearticle presence/absence sensor, link the article identificationinformation and the article presence/absence information at a displayposition of the display shelf in which the article presence/absencepatterns match, and recognize the display count of the articles.
 10. Theinformation processing apparatus according to claim 1, wherein the atleast one processor is further configured to process the instructionsto: collate presence/absence information of a plurality of articlesacquired from the article presence/absence sensor and the identifiedtypes of a plurality of articles and determine an incorrect arrangementof an article in the article column.
 11. The information processingapparatus according to claim 1, wherein the at least one processor isfurther configured to process the instructions to: determine whether thearticles have been identified; determine whether the display count iszero; and adjust at least one parameter used to identify the articles inresponse to at least one of: (1) determining that the articles have notbeen identified and determining that the display count is not zero and(2) determining that the articles have been identified and determiningthat the display count is zero.
 12. The information processing apparatusaccording to claim 1, wherein the at least one processor is furtherconfigured to process the instructions to: display the display count ofthe articles recognized by the display recognizer.
 13. A control methodof an information processing apparatus, the control method comprising:acquiring display count information of articles using articlepresence/absence sensors provided on a display shelf on which thearticles are placed; acquiring article identification informationcapable of identifying types of articles based on an image acquired bycapturing the display shelf; and recognizing, based on the display countinformation and the article identification information, display count ofeach type of the articles.
 14. A non-transitory computer readable mediumstoring a control program of an information processing apparatus forcausing a computer to execute a method comprising: acquiring displaycount information of articles using article presence/absence sensorsprovided on a display shelf on which the articles are placed; acquiringarticle identification information capable of identifying types ofarticles based on an image acquired by capturing the display shelf; andrecognizing, based on the display count information and the articleidentification information, display count of each type of the articles.15. An article management system comprising: article presence/absencesensors provided on a display shelf on which articles are placed; amemory storing instructions; and at least one processor configured toprocess the instructions to: acquire display count information of thearticles using the article presence/absence sensors; capture the displayshelf; acquire article identification information capable of identifyingtypes of articles based on an image acquired by capturing the displayshelf and recognize, based on the display count information and thearticle identification information, display count of each type of thearticles.